码迷,mamicode.com
首页 > 移动开发 > 详细

angular js 中$apply()的使用

时间:2016-08-17 19:33:27      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:

angular js的双向数据绑定,在开发中起到的作用灰常大,但是,并不是所有时候都能起作用。

找了下资料发现,双向数据绑定其实也就是当模型发生了变化的时候,重绘了DOM,使你看到数据被更新了,引发模型变化的情况有:

1,dom事件;

2,xhr响应触发回调;

3,浏览器的地址变化;

4,计时器触发回调;

以上的某一个情况发生,都会触发模型监控机制,同时调用了$apply方法,重绘了dom;通常情况下,我们使用的一些指令或服务,如$http,$timeout,$location等都会调用$apply方法,

从而使用dom被重绘,数据得到更新,实现了双向数据绑定。

而在有些情况下,比如回调里,

回调函数里执行的方法被不会触发$apply方法。假如当你点击打了比较input select radio等等,触发了模型监控,值也随之更新了。

此时需要手动调$scope方法,使dom重绘。

function b(){

//方法1

$scope.b=‘b‘;

$scope.$apply();

//方法2

/**$scope.$apply(function(){

  $scope.b=‘b‘;

})**/

}

 

angular js 中$apply()的使用

标签:

原文地址:http://www.cnblogs.com/leepyng/p/5781157.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!