最近始めましたvuex
。
公式docs
よく説明しているモジュールですが、理解できたかどうかわかりません名前空間モジュールの右側にあります。
名前空間についてもっとわかりやすく説明してくれる人はいませんか?いつ/なぜそれを使用するには?
とても有難い。
ベストアンサー1
非常に大きな状態オブジェクトを持つ大きなアプリの場合、多くの場合、それを次のように分割します。モジュール。
これは基本的に、状態を小さな部分に分割することを意味します。注意点の 1 つは、モジュールは同じ状態に統合されるため、同じメソッド名を使用できないことです。たとえば、次のようになります。
moduleA {
actions:{
save(){}
}
}
moduleB {
actions:{
//this will throw an error that you have the same action defined twice
save(){}
}
}
そのため、これを有効にするには、モジュールを名前空間として定義するオプションがあり、その後、異なるモジュールで同じメソッドを使用できます。
moduleA {
actions:{
save(){}
},
namespaced: true
}
moduleB {
actions:{
save(){}
},
namespaced: true
}
そして、次のように呼び出します。
this.$store.dispatch('moduleA/save')
this.$store.dispatch('moduleB/save')
mapGetter
またはを使用している場合mapActions
、ゲッターが次の形式になっているため、状況が少し複雑になる可能性があることに注意してください。['moduleA/client']
したがって、本当に必要な場合にのみ使用してください。