AngualrJs清除定時器遇到的坑
angualrJs清除定時器爬坑之路:
今天發(fā)現(xiàn)一個奇怪問題,放在自定義指令里邊的定時器竟然在頁面跳轉(zhuǎn)之后,在另一個頁面這個循環(huán)定時器還在執(zhí)行,這肯定是不行的,會影響系統(tǒng)的性能。
我在angular里邊用原生的方法window.onunload方法竟然不管用,所以只好用angular自己的方法$destroy,這頁面跳轉(zhuǎn),DOM結(jié)構(gòu)發(fā)生變化是都能清除定時器
var timer = setInterval(function(){ $scope.$apply(function(){ //這里是想要定時刷新的邏輯 }); },3000); $scope.$on('$destroy',function(){ if (timer) { clearInterval(timer); timer = null; } });
這里說一下,因為我用的是javascript中原生的setTimeout()
以及setInterval()
函數(shù),所以清除時對應(yīng)是clearTimeout()
和clearInterval()
,angular定時器是$timeOut
和$interval
,所以清除對應(yīng)是$timeOut.cancel()
和$interval.cancel()
,
必須一一對應(yīng),不一致是不會清除掉的。
總結(jié)
以上所述是小編給大家介紹的AngualrJs清除定時器遇到的坑,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
AngularJS自定義指令之復(fù)制指令實現(xiàn)方法
這篇文章主要介紹了AngularJS自定義指令之復(fù)制指令實現(xiàn)方法,結(jié)合完整實例形式分析了AngularJS自定義指令實現(xiàn)復(fù)制功能的相關(guān)操作技巧,需要的朋友可以參考下2017-05-05angular6根據(jù)environments配置文件更改開發(fā)所需要的環(huán)境的方法
這篇文章主要介紹了angular6根據(jù)environments配置文件更改開發(fā)所需要的環(huán)境的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03探討AngularJs中ui.route的簡單應(yīng)用
這篇文章主要介紹了AngularJs中ui.route的簡單應(yīng)用,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-11-11Angular中使用ng-zorro圖標庫部分圖標不能正常顯示問題
這篇文章主要介紹了Angular中使用ng-zorro圖標庫部分圖標不能正常顯示問題,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-04-04Commands Queries設(shè)計模式提高Angular應(yīng)用性能及可維護性
在Angular應(yīng)用開發(fā)領(lǐng)域,Commands and Queries 設(shè)計模式是一個關(guān)鍵的概念,它有助于有效地管理應(yīng)用程序的狀態(tài)和與后端的交互,本文將深入探討這一設(shè)計模式的核心要點,并通過實際示例來加以說明2023-10-10Angularjs全局變量被作用域監(jiān)聽的正確姿勢
這篇文章主要介紹了Angularjs全局變量被作用域監(jiān)聽的正確姿勢的相關(guān)資料,需要的朋友可以參考下2016-02-02Angular2-primeNG文件上傳模塊FileUpload使用詳解
這篇文章主要為大家詳細介紹了Angular2-primeNG文件上傳模塊FileUpload使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01AngularJS基礎(chǔ) ng-model-options 指令簡單示例
本文主要介紹AngularJS ng-model-options 指令,這里對ng-model-options指令的基本資料進行整理,有需要的小伙伴可以參考下2016-08-08