在watcher这段引入temp是否是有用的

来源:1-5 Vue.js 源码构建

慕UI4974229

2020-01-15

图片描述
这里引入temp这个变量,但是我打断点的时候发现这个temp似乎没有特殊的作用
希望老师解答一下

写回答

1回答

ustbhuangyi

2020-01-15

tmp 就是为了做交换,也就是 this.depIds 和 this.newDepIds 2 个值做交换。

0
2
ustbhuangyi
回复
慕UI4974229
首先 let tmp = this.depIds 就是用 tmp 去保留 depIds 的引用,然后 this.depIds = this.newDepIds 就是把 newDepIds 赋值给 depIds,接着 this. newDepIds = tmp 这句话就是把旧的 depIds 赋值给 newDepIds ,然后执行 this. newDepIds.clear 就相当于情况旧的 depIds 清空了。 这么交换后就相当于还是用 this.depIds 去保留新的 depIds 的引用。 下面同理,就是 deps 和 newDeps 的交换。
2020-01-16
共2条回复

Vue.js 源码深入解析 深入理解Vue实现原理

全方位讲解 Vue.js 源码,进阶高级工程师

4984 学习 · 1037 问题

查看课程