采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
请问老师,执行initproxy做代理是用vm.renderProxy接受的,常见的vue报属性未定义我看是在这里进行的,但我开发中没写过vm._renderProxy.属性,都是vm.属性才会报属性未定义,不太理解这个地方
你不需要写呀,它本身就是一个 Proxy 代理,劫持 vm 属性访问用的
_renderProxy劫持vm属性又什么作用?还有就是再开发中用this.属性报的属性未定义这个警告是在这里产生的吗?
如你所说,比如在模板中访问了一个不存在的变量,那么就会报警告,可以看 warnNonPresent 的实现,而之所以能执行 warnNonPresent,就是劫持了 vm 的属性访问呀。
vnode = render.call(vm._renderProxy, vm.$createElement) 是这句让我写this.属性可以访问到data中的属性吗
看图,这个报错应该很熟悉吧
登录后可查看更多问答,登录/注册
全方位讲解 Vue.js 源码,进阶高级工程师
3.0k 4
1.5k 20
1.3k 14
1.2k 12
2.2k 12