渲染watcher中的get()是什么时候执行的?
来源:2-3 Vue 实例挂载的实现

愿等花开
2021-07-10
/**
- Evaluate the getter, and re-collect dependencies.
*/
get () {
pushTarget(this)
let value
const vm = this.vm
try {
value = this.getter.call(vm, vm)
} catch (e) {
if (this.user) {
handleError(e, vm,getter for watcher "${this.expression}"
)
} else {
throw e
}
} finally {
// “touch” every property so they are all tracked as
// dependencies for deep watching
if (this.deep) {
traverse(value)
}
popTarget()
this.cleanupDeps()
}
return value
}
写回答
1回答
-
ustbhuangyi
2021-07-11
当执行 render 函数的时候,如果访问了响应式数据,就会触发 getter,此时当前计算的 watcher 就是 render watcher
00
相似问题