# **变量检测机制:** `定义`:变更检测就是Angular检测视图与数据模型之间绑定的值是否发生了改变,当检测到模型中绑定的值发生改变时,就把数据同步到视图上。 `触发`:任何异步事件都会触发变量检测 # **Angular如何进行变更检测** 每个组件都有属于自己的变更检测器,当任何一个变更检测器检查到变化,zone.js会根据组件的**变更检测策略**来检查组件,以判断组件是否需要更新它的模版。 # **检测策略** `Default策略`,默认情况下所有组件都使用Default策略 `OnPush策略` <div class="text"><span style="padding-left:20px;">如果</span >所有组件都使用Default策略,不管变更发生在哪个组件上,zone.js会检测整个组件树,但会跳过使用OnPush策略的组件,OnPush策略的组件只有当其输入属性(即@Input)发生改变时,zone.js才会检测这个组件及其子组件</div> * Angular的变更检测机制配合zone.js来实现,变量检测机制保证组建变化和页面变化同步 * 浏览器中任何异步事件都会触发检测机制 * 检测模版所有绑定属性,若改变则相应区域会被更新 * 需要注意的是:变更检测机制只会把组件属性的改变反应到模版上,不会改变组件值