-
computed定义的数据不可以被修改,除非你主动设定
set
-
computed中的计算结果是被缓存的
计算属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算。注意,如果某个依赖 (比如非响应式属性) 在该实例范畴之外,则计算属性是不会被更新的。
Vue中的所有依赖收集都是在data的 getter
中做的。所以在computed初始化也就是第一次执行回调函数时,
比如,在页面A中依赖了计算属性B,B又依赖了data C。 那么当data C发生变化时,
-
通知 computed B watcher 更新,其实只会重置 脏数据标志位 dirty =true,不会计算值
-
通知 页面 A watcher 进行更新渲染,进而重新读取 computed B ,然后 computed B 开始重新计算
computed B成为页面A和data C的桥梁,