脏值检查
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)]