因为直接下载了最新版本的vue源码学习,所以可能和老师的版本不太一样。
// Vue 2.6.10版本
Watcher.prototype.update = function update() {
debugger
/* istanbul ignore else */
if (this.lazy) {
this.dirty = true
} else if (this.sync) {
this.run()
} else {
queueWatcher(this)
}
}
老师视频中的版本
在新版本中也没有getAndInvoke这个方法来,对比computed value来减少渲染。
是为什么呢,删除这种对比呢,全都放在queueWatcher中一起渲染?