【发布时间】:2017-06-26 16:42:48
【问题描述】:
使用 Vue.js,是否可以从全局 javascript 范围访问实例化的 Vue.js 组件对象?还是 Vue 的内部以不可访问的方式实例化对象?
即我有定义组件的代码
Vue.component('component-name', {
/*...*/
});
然后标签使用该组件
<component-name>
/* can user templates with component objects vars {{foo}}
</component-name>
Vue 的模板渲染代码最终是访问一个 javascript 对象。有没有办法让我通过代码来查看那个实例化的 Vue 组件对象?类似的东西
var theComponent = getInstantiatedComponent('component-name');
我知道 Vue.js Chrome 调试器——但我想知道是否可以通过代码访问这些对象,以及该语法是什么(以及我的 Chrome 插件)技能太弱,无法戳穿他们在调试器插件中所做的事情)。
【问题讨论】:
-
你在找什么?在大多数生命周期事件中,您可以检查
this并看到组件本身。 -
@BertEvans 感谢您的关注!如果我的上下文有帮助:我致力于开发人员工具。除了我所说的我正在寻找的东西之外,我没有寻找任何东西——一种从全局 javascript 范围访问实例化组件对象的方法。
-
从全局范围内,您可以捕获 Vue 构造函数 (
const app = new Vue(...)) 的结果,然后您可以从那里深入了解完整的组件树,尽管它没有很好的文档记录。 -
@BertEvans 再次感谢——但我希望在运行时以及在我不控制 vue 构造函数的实例化的应用程序中访问这些信息。有用的信息!
标签: javascript scope vue.js