# **变量检测机制:**
`定义`:变更检测就是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来实现,变量检测机制保证组建变化和页面变化同步
* 浏览器中任何异步事件都会触发检测机制
* 检测模版所有绑定属性,若改变则相应区域会被更新
* 需要注意的是:变更检测机制只会把组件属性的改变反应到模版上,不会改变组件值
- 目录结构
- 架构
- 指令
- 数据绑定
- 结构性指令
- 属性型指令
- 自定义指令
- 模板引用变量
- 属性绑定
- 事件绑定
- 组件
- 组件交互
- 管道
- 自定义管道
- 动态组件
- 变量检测机制
- 组件生命周期
- 路由
- 路由配置
- 路由导航
- 路由传值
- 父子路由
- 路由事件
- 顶级路由和特征路由
- 多重路由
- 路由守卫
- 路由守卫-简单理解
- 路由惰性加载
- 路由预加载
- 路由动画
- 网络请求
- GET请求
- POST请求
- JSOP请求
- 封装的http请求
- http拦截器
- 表单
- 响应式表单
- 驱动式表单
- CLI命令
- 启动应用
- 创建项目
- 创建组件
- 创建服务
- 创建路由守卫
- 创建特征模块
- 创建自定义指令
- 创建自定义管道
- 相关概念
- 急性加载
- 惰性加载
- 特征模块
- 常见问题
- 全局的Angular CLI大于本地的Angular CLI
- 包体优化