0

在 vuejs 里,通常我们都会把页面做成一个组件给 Vue 实例挂载,如果我们给组件设置了一个属性 “name” ,那么当页面报错的时候,我们在控制台可以看到这个组件的 name,在 Vue Devtools 里也能看见这个组件的 name。

问题来了,我们可以通过 this.$options.name ,在组件生成后输出当前组件的名称,可是当我直接把 this.$options 输出,却没看到输出的内容里面有 name ,这是为什么呢?

甚至问题可以简化成,我在 Javascript 里输出了一个对象 obj,这个对象明明是没有 name 这个属性的,但是输出 obj.name 却得到了值,我想问这是为什么,vuejs 又是怎么做的。

12月4日提问
2 个回答
0

应该是代理,访问$options对象被真正的Vue组件代理了。

0

继承属性,在原型链上啊……

clipboard.png

clipboard.png

撰写答案

推广链接