front-vb-charcarron
Results
2
comments of
front-vb-charcarron
为什么Dep的notify函数里const sub = this.subs.slice(), 要这样多一步呢? 不直接用const sub = this.subs,这样有什么特别用意吗?
@cytle subs好像不会增加,因为每个属性对应一个Dep, 然后每次改变就往对应的Dep的subs塞一个watcher。但是后来我发现我更改值的次数多了,就会塞更多的watcher,然后没事通知Dep的时候就会重复触发多次watcher,这样显然不对,所以我改成this.subs.slice(this.subs.length - 1)让它每次都值通知最新的watcher。源码也是写this.subs.slice(),所以我就很疑惑。