淺談vue 組件中的setInterval方法和window的不同
vue組件中,this指向?qū)嵗?,【?shí)例中重寫了setInterval等一整套方法】。所以,千萬(wàn)不能和 window 下掛載的方法混用
具體不同在于,window.setInterval執(zhí)行完比后返回一個(gè)id,而vue實(shí)例中返回【定時(shí)器對(duì)象】,當(dāng)然該對(duì)象中包含一個(gè)_id的私有屬性
因?yàn)?clearInterval 方法參數(shù)是id,所以最佳實(shí)踐是統(tǒng)一使用 window 的方法,不要使用 vue組件的方法
vue中的定時(shí)器方法,要使用箭頭函數(shù),不要出現(xiàn) const that = this 的寫法
//正確的用法
mounted() {
// 如果不加 window ,則會(huì)使用 vue實(shí)例的方法,將無(wú)法清除定時(shí)器
this.timer = window.setInterval(() => {
this.date = new Date();
}, 2000);
console.log(this.timer);//number
},
methods: {
clearTimer() {
window.clearInterval(this.timer);
this.timer = null;
}
}
補(bǔ)充知識(shí):vue 切換頁(yè)面 setInterval
vue 是單頁(yè)面應(yīng)用,路由切換后,定時(shí)器并不會(huì)自動(dòng)關(guān)閉,需要手動(dòng)清除,當(dāng)頁(yè)面被銷毀時(shí),清除定時(shí)器即可。
mounted(){
clearInterval(this.timer);
this.setTimer();
},
destroyed(){
clearInterval(this.timer)
}
以上這篇淺談vue 組件中的setInterval方法和window的不同就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue基于better-scroll實(shí)現(xiàn)左右聯(lián)動(dòng)滑動(dòng)頁(yè)面
這篇文章主要介紹了vue基于better-scroll實(shí)現(xiàn)左右聯(lián)動(dòng)滑動(dòng)頁(yè)面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06
每天學(xué)點(diǎn)Vue源碼之vm.$mount掛載函數(shù)
這篇文章主要介紹了vm.$mount掛載函數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
vue之webpack -v報(bào)錯(cuò)解決方案總結(jié)
這篇文章主要介紹了vue之webpack -v報(bào)錯(cuò)解決方案總結(jié),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09
vue2如何使用vue-i18n搭建多語(yǔ)言切換環(huán)境
這篇文章主要介紹了vue2-使用vue-i18n搭建多語(yǔ)言切換環(huán)境的相關(guān)知識(shí),在data(){}中獲取的變量存在更新this.$i18n.locale的值時(shí)無(wú)法自動(dòng)切換的問(wèn)題,需要刷新頁(yè)面才能切換語(yǔ)言,感興趣的朋友一起看看吧2023-12-12
Vue.directive 實(shí)現(xiàn)元素scroll邏輯復(fù)用
這篇文章主要介紹了Vue.directive 實(shí)現(xiàn)元素scroll邏輯復(fù)用功能,文中給大家提到元素實(shí)現(xiàn)滾動(dòng)的條件有兩個(gè),具體內(nèi)容詳情大家參考下本文2019-11-11
Vue項(xiàng)目數(shù)據(jù)動(dòng)態(tài)過(guò)濾實(shí)踐及實(shí)現(xiàn)思路
這篇文章主要介紹了Vue項(xiàng)目數(shù)據(jù)動(dòng)態(tài)過(guò)濾實(shí)踐,,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09
Vue自定義全局Toast和Loading的實(shí)例詳解
這篇文章主要介紹了Vue自定義全局Toast和Loading,需要的朋友可以參考下2019-04-04
vue.js數(shù)據(jù)綁定的方法(單向、雙向和一次性綁定)
本篇文章主要介紹了vue.js數(shù)據(jù)綁定的方法(單向、雙向和一次性綁定),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07

