Angular 中使用定时器引发的“血案”

Angular中如何使用定时器

不规范示例

使用window.setInterval/window.setTimeout方法:

$scope.status = 'hello';

setInterval(function(){
   $scope.status = 'hello world';
   console.log($scope.status);
},1000);

以上代码会输出“hello world”,也不会产生错误。但是你会发现页面上数据并没有修改,原因是它没有进行数据更新的操作,使用原生js的定时器不会触发angular的双向数据绑定机制。

解决方案

其实,解决这个问题非常简单,只需要使用angular中的 interval/ timeout即可。

$scope.status = 'hello';

$setInterval(function(){
   $scope.status = 'hello world';
   console.log($scope.status);
},1000);

注意:使用$interval/$timeout需要注入依赖项哦~

留给自己备用。

猜你喜欢

转载自blog.csdn.net/xiaopeng_han123/article/details/78625511
今日推荐