vue中使用定時器時this指向問題
- 在寫一個很小的demo時,用的普通函數(shù)寫法,沒有用es6箭頭函數(shù),發(fā)現(xiàn)this變化了,后來查找到了問題所在:
- 箭頭函數(shù)中的this指向是固定不變(定義函數(shù)時的指向),在vue中指向vue。
- 普通函數(shù)中的this指向是變化的(使用函數(shù)時的指向),誰調(diào)用的指向誰。
箭頭函數(shù):
created ()
{
setInterval(() => { console.log(this) }, 1000) // vue
setInteval(function () { console.log(this) }, 1000)
// window,因為setInterval()函數(shù)是window對象的函數(shù)
}