Vueで遭遇した事象を共有。
事象
以下のようにHogeページを追加し、該当ページに遷移しようとしてrouter.push('/hoge')したところ、エラー発生
router/index.js
...
{
path: '/hoge',
name: 'hoge',
components: Hoge
},
...
> TypeError: Cannot read property 'loadItems' of undefined
該当のページでは
Hoge.vue
mounted () {
this.loadItems()
},
methods: {
loadItems () {
//.....
}
}
としていたので
Hoge.vue
mounted () {
console.log(this)
this.loadItems()
},
this がundefined。
this汚染やっちまった?と思い、探してみたがハズレ。
mounted をコメントアウトしてみると、次のエラーが発生
>TypeError: Cannot read property '$createElement' of undefined
原因と答え
stackoverflowに答えが...
https://stackoverflow.com/questions/50218836/vue-router-typeerror-cannot-read-property-createelement-of-undefined?rq=1
誤:components
正:component
router/index.js
...
{
path: '/hoge',
name: 'hoge',
component: Hoge
},
...
上記とすると直りました。
環境
Vue2.0 + vuex