Vue SPA Vuex編 -第2章- ~Vuexの完全理解!~
ストアの分割
ストアはモジュール化し、分割することで管理しやすくする。
モジュールの使い方
オブジェクトで定義したモジュールを、ストアのmodules
オプションに登録する。
モジュール定義
const moduleA = { } const moduleB = { }
ストアに登録
const store = new Vuex.Store({ modules:{ moduleA, moduleB } })
モジュールのステートアクセス
store.state.moduleA store.state.moduleB
ネームスペース
同一のタイプをコミットする際に同期させたくない場合に別のタイプ名を使用する。
その際にモジュールを定義する際、namespaced
オプションをtrue
に設定して
ネームスペースを持つことが可能になる。
ネームスペースがついた場合/
で区切って呼び出す。
commit('<ネームスペース>/<タイプ>')
機能とオプション
ストアの状態を監視
Vuexでアプリケーションレベルのウォッチャを定義できる。
関数の第1引数にstate
、第2引数にgetters
を使用して監視するデータを返す。
Strictモード
strict : true
でコードを厳格にみる。
Vuexでホットリロード
APIメソッドstore.hotUpdate()
の設定が必要になる。
ただしVuex.Store
コンストラクタを使用するファイルは
ホットリロードが使用できないため
、別ファイルで作成する必要がある。