BETA

vuex-modules-decorator使ったらCannot read property 'registerModule' of undefinedって出たのを解決

投稿日:2019-04-02
最終更新:2019-04-14

以下の記事のをちょっと取り入れてみようとしたら

https://qiita.com/tsrnk/items/fd95c3d8013d0795a260

Cannot read property 'registerModule' of undefined
と出た

import { Module } from "vuex-module-decorators";  
import {store} from './root'  

@Module({ dynamic: true, store, name: "jong", namespaced: true })  
class Jong extends VuexModule {  

}  

しばらく悩んだ結果、どうやら親ストアを置いているrootで、
このモジュールのimportを上部に書いていてしまったから、
jongをロードした段階ではstoreが生成されていなかったから
らしい。

import Vue from "vue";  
import Vuex from "vuex";  
Vue.use(Vuex);  

import "./jong";  

export const store = new Vuex.Store({  
    // 省略  
});  

下の方に置くことで解決。

import Vue from "vue";  
import Vuex from "vuex";  
Vue.use(Vuex);  

export const store = new Vuex.Store({  
    // 省略  
});  

import "./jong"; // storeよりも後!!!  

初歩的だけど、しばし時間を溶かしてしまったので書いておくことにする。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

Lenqthの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!