ホームページ  >  記事  >  ウェブフロントエンド  >  AngualrJs でタイマーをクリアするときに問題が発生する

AngualrJs でタイマーをクリアするときに問題が発生する

黄舟
黄舟オリジナル
2017-10-13 11:12:321061ブラウズ

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。