如何处罚组件的更新
数据驱动
数据来源
- 来自父元素的属性
- 来自组件自身的状态如data
- 来自状态管理器,如vuex,Vue.observable
状态 data vs 属性props
- 状态是来自组件自身的数据
- 属性是来自父组件的数据
- 状态的改变未必会触发更新
- 属性的改变未必会触发更新
状态不会更新的情况
- 状态未做响应式
- 模板未用到此状态
响应式更新
在数据层增加了代理层 在获取/维护数据的时候代理层代理;
渲染的过程中:
首先render用到的数据Data会放到Watcher里面,当这些数据发生变化的时候触发组件的更新渲染,如果数据不是render所
需要的,则不会在Watcher里面,数据改变的时候也不会触发重新渲染