关于vuejs2:未捕获的ReferenceError:未定义vm vue.js 2.0

Uncaught ReferenceError: vm is not defined vue.js 2.0

我正在使用Vue 2.0,但出现错误

(Uncaught ReferenceError: vm is not defined)

当我在控制台中使用vm.$data或任何其他检查属性时。 我拥有最新版本的vue.js 2.2.4。


如@Fiete所述,默认情况下vm变量将不可用。

您需要全局定义vm才能从控制台访问它。

这样的事情应该工作

1
2
3
4
5
6
7
8
9
10
11
12
13
var vm = new Vue({
  el: '#app',
  data: {
    a: 1
  },
  router,
  template: '<App/>',
  components: {
    App
  }
});

global.vm = vm; //Define you app variable globally

现在您可以使用vm.$data.PROPERTYvm.PROPERTY


vm变量默认情况下不存在。 而且vuejs不会设置该变量。 如果要调试vuejs应用程序,建议使用vuejs Chrome扩展程序。

通过在页面上打开扩展名,可以选择要调试的组件。 之后,您可以使用$vm0变量访问选定的组件。


vm看起来像是在引用Vue实例,然后仅使用this.$set而不是vm.$set。 (致力于使用@ vue / cli生成的项目)


1
2
3
4
5
6
7
8
let app = new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')


global.vm = app;

在任何地方

1
globalThis.vm.$subscribeTo...