-
什么是脏检查
对脏数据的检查就是脏检查,比较UI和后台数据是否一致。
-
什么时候触发脏检查
只有当UI事件、ajax请求或者timeout延迟事件,才会触发脏检查
$watch对象
- Angular每一个绑定到UI的数据,就会有一个$watch对象。
- $watch对象包含三个参数
watch = {
name:'', //当前的watch对象观测的数据名
getNewValue:function($scope){ //得到新值
...
return newValue;
},
listener:function(newValue,oldValue){ //当数据发生改变时需要执行的操作
...
}
}
getNewValue() 可以得到当前$scope上的最新值,listener函数得到新值和旧值并进行一些操作。
双向数据绑定
- Angular实现了双向数据绑定。无非就是界面的操作能实时反映到数据,数据的更改也能在界面呈现。
- 界面到数据的更改,是由UI事件,ajax请求,或者timeout等回调操作,而数据到界面的呈现则是由脏检查来做。
脏检查的优缺点
- 一次脏检查就是调用一次$apply()或者$digest(),将数据中最新的值呈现在界面上。
- 每次UI事件变更,ajax还有timeout都会触发$apply()
网友评论