【发布时间】:2017-08-04 14:08:39
【问题描述】:
我正在使用 Vue 2.0,但出现错误
(Uncaught ReferenceError: vm is not defined)
当我在控制台中使用vm.$data 或任何其他来检查属性时。我有最新版本的 vue.js 2.2.4。
【问题讨论】:
-
什么是vm,你有没有把它分配到某个地方?
标签: vuejs2
我正在使用 Vue 2.0,但出现错误
(Uncaught ReferenceError: vm is not defined)
当我在控制台中使用vm.$data 或任何其他来检查属性时。我有最新版本的 vue.js 2.2.4。
【问题讨论】:
标签: vuejs2
正如@Fiete 所述,vm 变量默认不可用。
您需要在全局范围内定义vm 才能从控制台访问它。
这样的东西应该可以工作
var vm = new Vue({
el: '#app',
data: {
a: 1
},
router,
template: '<App/>',
components: {
App
}
});
global.vm = vm; //Define your app variable globally
现在您可以使用vm.$data.PROPERTY 或vm.PROPERTY。
【讨论】:
vm 看起来像是在引用 Vue 实例,那么只需使用 this.$set 而不是 vm.$set。 (参与过使用@vue/cli 生成的项目)
【讨论】:
let app = new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
global.vm = app;
在任何地方,
globalThis.vm.$subscribeTo...
【讨论】:
vm 变量默认不存在。并且 vuejs 没有设置该变量。如果你想调试你的 vuejs 应用程序,我推荐vuejs Chrome extension。
通过打开页面上的扩展程序,您可以选择要调试的组件。之后,您可以使用$vm0 变量访问选定的组件。
【讨论】: