vue2 的变量引用问题

问题1:我在beforeCreate()里面调用init的方法,想给uivalue赋值,uivalue被用在v-model,结果发现个奇怪的问题:

   
     console.log(this);
     console.log(this.uiValue);
     console.log(uiValue);
     uiValue= {...dispatchOptionVO}
     
  以上代码结果是:   VueComponent {uiValue:xxx}
                    undefined
                    undefined .

为什么第一个this里面能看见uiValue的值,第二个this.uiValue反而看不见。

阅读 2k
3 个回答

这是因为对象的值打印在控制台上并不仅仅是当前的值,后续的变化也会影响他的结果

打印this是vue对象,当然有值。而uiValue没有定义,当然undefined;

console这个对象是由宿主环境来实现的~ 如果你在多个浏览器使用console.log(this.uiValue)的话,你还会发现有不一样的显示结果~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题