Vuexにモジュールを登録する方法
5917 ワード
実際のプロジェクトアプリケーションでは,そのプロジェクトに適用されたすべてのstateやmutation,Actionなどをグローバルstoreに置くと,グローバルstoreの内容が膨大で変数名,メソッド名が制限され,vuexのモジュール概念がこの問題を解決するのに適している.
次に、vuexのモジュール概念をどのように利用して、グローバルStoreが複雑すぎる問題を解決するかについて、静的登録と動的登録の2つの方法を示します.まず作成したモジュールの名前はmoduleAで、次のようになります.
静的作成とは、vuexをインスタンス化するときに必要なモジュールを定義することです.
動的に作成すると、必要な場所でモジュールを登録します.ページでは、以下のように手動で登録します.
上記の2つの方法はいずれも自分のプロジェクトに適用可能であり、動的登録はモジュールの独立性に対する要求が高く、自分のビジネスニーズに応じて適切な方法を選択することができる.
次に、vuexのモジュール概念をどのように利用して、グローバルStoreが複雑すぎる問題を解決するかについて、静的登録と動的登録の2つの方法を示します.まず作成したモジュールの名前はmoduleAで、次のようになります.
moduleA.js
export default {
namespaced: moduleA, //
state() {
return {
showModal: false,
num: 1
}
},
getters: {
...
},
mutations: {
changeShowModal() {
....
}
...
}
}
静的storeモジュールの作成静的作成とは、vuexをインスタンス化するときに必要なモジュールを定義することです.
...
import moduleA from 'moduleA'
...
export default new vueX.Store({
...
modules: {
moduleA
}
})
このモジュールの変数とメソッドをvueファイルでどのように使用しますか?// state
cumputed: {
// store
...mapState(['isShowSomething']),
//
...mapState('moduleA', [
'showModal',
'num'
]),
...
},
methods: {
...mapMutations('moduleA', [
'changeShowModal'
])
}
動的storeモジュールの作成動的に作成すると、必要な場所でモジュールを登録します.ページでは、以下のように手動で登録します.
<script>
import moduleA from '../store/modules/moduleA'
created() {
this.$store.registerModule('moduleA', moduleA);
}
</script>
変数とメソッドを具体的に使用する方法は、静的作成と一致します.上記の2つの方法はいずれも自分のプロジェクトに適用可能であり、動的登録はモジュールの独立性に対する要求が高く、自分のビジネスニーズに応じて適切な方法を選択することができる.