箭头函数中的this指向是固定不变(定义函数时的指向),在vue中指向vue;
普通函数中的this指向是变化的(使用函数时的指向),谁调用的指向谁。
箭头函数:
let timerOne = setInterval(() => {
console.log(this);// vue
}, 1000);
let timerTwo = setInteval(function () {
console.log(this); // window,因为setInterval()函数是window对象的函数
}, 1000);
打印结果:
let timer = setInterval(() => {
this.myFunc();
},1000);
myFunc(){
console.log('sunyu is handsome !');
}
不用箭头函数也可以搞定:
myFunc(){
console.log(vm.name);// name为已经在created中声明的变量
};
let vm = this;
let timer = setInteval(function () {
myFunc();
}, 1000) ;
最后温馨提示不要忘了清除定时器哦!