I am using Vue 2.0 and I have an error
(Uncaught ReferenceError: vm is not defined)
when i use vm.$data
or any other in console to check the properties. I have latest version of vue.js 2.2.4.
I am using Vue 2.0 and I have an error
(Uncaught ReferenceError: vm is not defined)
when i use vm.$data
or any other in console to check the properties. I have latest version of vue.js 2.2.4.
As mentioned by @Fiete the vm
variable wont be available by default.
You need to define vm
globally to access it from the console.
Something like this should work
var vm = new Vue({
el: '#app',
data: {
a: 1
},
router,
template: '<App/>',
components: {
App
}
});
global.vm = vm; //Define your app variable globally
Now you can use vm.$data.PROPERTY
or vm.PROPERTY
.
The vm
variable does not exists by default. And vuejs does not set that variable. If you want to debug your vuejs application I recommend the vuejs Chrome extension.
By opening the extension on your page you can select the component you want to debug. After that you can access the selected component by using the $vm0
variable.
let app = new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
global.vm = app;
in anywhere,
globalThis.vm.$subscribeTo...
vm
looks like referring to the Vue instance, then just use this.$set
instead of vm.$set
. (Worked on a project generated with @vue/cli)
It's really old, but for me the issue was that $vm would become unavailable when I was not focused on the tab / had different tab open. I just had to re-focus on the tab for which the devtools was open and $vm would appear again.
If just re-focusing won't do the trick, sometimes it helps to roam around Vue devtools Components tab until you see $vm written along the component names.