为什么需要Proxy机制呢?

来源:2-2 new Vue 发生了什么

Derek_is_spartan

2018-12-16

为什么需要把组件内的data的key都代理了,直接引用同一个对象不可以吗?
例如:this.message = this._data.message

写回答

2回答

ustbhuangyi

2018-12-16

问题来了,现在你要实现你的需求,你会在源码里怎么写。
我认为它的 proxy 就是实现了把 this.xxx 指向 this._data.xxx 啊,如果不这么写,难不成还要遍历一次吗?

0
5
ustbhuangyi
回复
Derek_is_spartan
这里是赋值,指向一个新的函数,之前 key1 的 getter 肯定还是之前的啊。
2018-12-24
共5条回复

慕村2541733

2018-12-16

代理的主要目的是为了收集依赖和视图更新,通过object.defineproperty的get可以收集依赖,set可以触发更新,如果没有代理,这两个过程是没法完成的

0
0

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

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

4984 学习 · 1037 问题

查看课程