この記事では、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 サイトの他の関連記事を参照してください。