Closed radicalviva closed 7 years ago
@radicalviva 简单解释一下,你主要是要理解defineProperty这个方法的含义,以及defineProperty中定义的get方法的执行时机,详见截图
@DMQ
我在Watch.get
方法测试了下,仅保留Dep.target = this
而注释掉
var value = this.vm[exp];Dep.target=null;
也将触发那个属性的getter
方法
这是我不能理解的。
@radicalviva 在compile.js里面也是有初始化视图需要取值的时候,会触发getter,并不只是在watcher初始化 的时候会触发哈,只需要知道通过defineProperty定义的属性,在取值的时候就会触发getter就行了,有时候不要太砖牛角尖
Dep.target = watcherInstance
标记订阅者是当前watcher
实例,强行触发属性定义的getter
方法 为什么通过获取watcher
实例,会触发data
里面的属性的getter
方法呢? 希望有人帮我解答下呀。