angularjs – $interval函数在我改变路线时继续

发布时间:2020-04-09 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了angularjs – $interval函数在我改变路线时继续脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在更改路线时遇到有关$interval功能的问题.

这是代码:

x = 2;

 var multiply = function () {
     x = x * 2;
     if (x == 134217728) {
         $interval.cancel($scope.stop);
         $scope.stop = 0;
     }
 }


 $scope.Result = function () {
     $scope.stop = $interval(multiply,1000);
 }

 $scope.Result();

当x <134217728时,我改变路线以移动到另一页面.问题是路由更改后$interval不会停止.我将promise存储在$scope模型中的变量stop中.我认为$scope在路由改变后不会破坏,这就是$interval继续的原因. 我该如何解决这个问题?

你可以使用$interval.cancel($scope.stop);在控制器/服务中调用$locationChangeSuccess时.

例如.

controller('MyController',function($rootScope,$interval) {
  $scope.stop = $interval(yourOperation,1000);

  var dereg = $rootScope.$on('$locationChangeSuccess',function() {
    $interval.cancel($scope.stop);
    dereg();
  });

  function yourOperation() {}
};

总结

以上是脚本之家为你收集整理的angularjs – $interval函数在我改变路线时继续全部内容,希望文章能够帮你解决angularjs – $interval函数在我改变路线时继续所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入脚本之家官方QQ群:1065694478