4-15 Angular-脏值检查

脏值检查

  • 1.每次在界面上。绑定一个数据时,就会把对应的属性
    添加到一个叫$watchList数组中。

  • 2.放到数组中每一个属性,都会被$watch()监听

  • 3.一直处于监听事件状态。只要发生事件,
    就会触发$degist()

  • 4.之后 $degist() 就会遍历$watchList数组。询问每一个
    属性有没有被更改过,遍历之后,找到被更改的属性。

  • 5.在去查看$scope有没有添加新属性。如果有添加属性,
    会再去循环一遍$watchList

  • 6.遍历结束,所有都没有问题, 会调用$apply(),
    更新dom节点

  • 脏值检测$degist()遍历 $watchList数组的过程。

  • $apply() 什么 时候去手动调用?

    • 当异步更新$scope时,digest 检测不到。此时,需要自己手动去更新界面
      $scope.$apply();

[图片上传失败...(image-ac8d8-1535602274641)]

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,009评论 19 139
  • 1.类库( 提供类方法 ) 和框架 类库提供一系列的函数和方法的合集,能够加快你写代码的速度。但是主导逻辑的还是自...
    w_zhuan阅读 1,835评论 0 8
  • Angular面试题 一、ng-show/ng-hide与ng-if的区别? 第一点区别是,ng-if在后面表达式...
    w_zhuan阅读 5,590评论 0 26
  • 好乱,这几天回到宿舍都没按照说的去做,一回到不是游戏就是玩手机,到了很晚就运动写东西然后睡,把看书和听课都抛在脑后...
    承思而行阅读 129评论 0 0
  • 化妆品周期 Product Life. Cycle Stages The p...
    47b73d055dc7阅读 350评论 2 4