この記事では、AngualrJs クリア タイマーで遭遇する落とし穴を主に紹介します。困っている友人は参考にしてください。
angualrJs クリア タイマーの落とし穴を登る方法:
今日、カスタム命令に配置されたタイマーという奇妙な問題を見つけました。ページがジャンプした後も、別のページのループ タイマーが実行中であることは絶対に不可能であり、システムのパフォーマンスに影響します。
Angularのネイティブメソッドwindow.onunloadを使用しましたが、機能しなかったので、Angular独自のメソッド$destroyを使用する必要がありました。ページがジャンプしたり、DOM構造が変更されたときにタイマーをクリアできます
var timer = setInterval(function(){ $scope.$apply(function(){ //这里是想要定时刷新的逻辑 }); },3000); $scope.$on('$destroy',function(){ if (timer) { clearInterval(timer); timer = null; } });
こちら ちなみに、JavaScriptではネイティブのsetTimeout()
以及setInterval()
函数,所以清除时对应是clearTimeout()
和clearInterval()
,angular定时器是$timeOut
和$interval
,所以清除对应是$timeOut.cancel()
和$interval.cancel()
と
を使っているので、1対1に対応させないと矛盾が解消されません。
概要
以上がAngualrJs でタイマーをクリアするときに問題が発生するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。