请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

data.call(vm.vm) 把组件实例传给 data 函数的疑问

黄老师,有个疑问:
data.call(vm, vm) 把组件实例作为参数传给 data 函数,我试了一下在 data 里面调用 vm:
图片描述

打印出来的 vm 是 vue 的实例,也有 message 参数:
图片描述

console.log(vm.message) 为啥是undefined ??我是在 App.vue 组件写的。
图片描述

正在回答

2回答

//img1.sycdn.imooc.com//szimg/5ec13ddc09aeb28016360276.jpg
因为在 data 函数执行的时候,vm._data 还没有值,另外也没有做 proxy,也就是没有把 vm._data.xxx 代理到 vm.xxx

1 回复 有任何疑惑可以回复我~
  • 提问者 XF西风 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-05-18 09:43:54
  • 有点疑问,既然还没有做代理,为什么vm上已经有了message属性了
    回复 有任何疑惑可以回复我~ 2020-09-11 16:46:46
  • 这里建议打断点调试, 其实data函数内拿到的vm  还没有_data属性, chrome浏览器会输出 这个引用类型最终的值
    回复 有任何疑惑可以回复我~ 2020-12-16 22:43:09
美丽的老周 2020-05-27 21:26:21

请问this.value在什么时候会打印出'Hello World - value'?

0 回复 有任何疑惑可以回复我~
  • data 初始化后都可以
    回复 有任何疑惑可以回复我~ 2020-05-27 22:06:33
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信