angular中 $watch, $digest, $apply

$watch(监听):  当模版加载完毕时,也就是在linking阶段(Angular分为compile阶段和linking阶段),Angular解释器会寻找每directive,然后生成每个需要的$watch

$digest(循环):浏览器接收到一个事件后,进入angularcontext,$digest循环开始执行,查询每个$watch的检测值是否变化,一旦有值发生变化,浏览器拿回控制权,更新与$scope.name新值相应部分的DOM。然后$digest会强制再执行一次$digest循环,直到没检查到变化时为止。

$apply(通知):使用默认的内置angular指令时,不需要调用$apply,因为angular组件已为我们封装好了的,但当使用原生js或者jquery插件时,需要自己手动调用$apply,生成一个angularcontext的执行环境,响应view层值的改变

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇博文主要是写给新手的,是给那些刚刚开始接触Angular,并且想了解数据帮定是如何工作的人。如果你已经对Ang...
    iqing2012阅读 385评论 0 3
  • 1.类库( 提供类方法 ) 和框架 类库提供一系列的函数和方法的合集,能够加快你写代码的速度。但是主导逻辑的还是自...
    w_zhuan阅读 1,830评论 0 8
  • 笔记类文章 angularJS Scope综述 于2017年1月14日 翻译自angularjs 官网开发者指南 ...
    布蕾布蕾阅读 851评论 0 1
  • 又快要过年了,超市的货架上、集市的摊位上早就摆上了满满的年货,尤其是红灿灿的对联,更是增添了不少过年气氛,可每到这...
    芳菲永在阅读 732评论 0 1
  • 闲着就开始想男人 你这样怎么去做科研 真的替你担心 哎
    青衫湿一痕阅读 174评论 0 0