[解決済み】名前空間が設定された2つのVuexモジュール間でアクションをディスパッチする方法はありますか?
2022-04-06 21:11:22
質問
名前空間を持つモジュール間でアクションをディスパッチすることは可能ですか?
例えば、私はvuexモジュール"gameboard"と"notification"を持っています。それぞれは名前空間です。ゲームボードからnotificationモジュールにアクションをディスパッチしたいと思います。
このようにディスパッチアクションの名前にモジュール名を使うことができると思いました。
// store/modules/gameboard.js
const actions = {
myaction ({dispatch}) {
...
dispatch('notification/triggerSelfDismissingNotifcation', {...})
}
}
// store/modules/notification.js
const actions = {
triggerSelfDismissingNotification (context, payload) {
...
}
}
しかし、これを実行しようとすると、vuexが私のgameboardモジュール内でアクションをディスパッチしようとしているのではないかと思われるエラーが発生します。
[vuex] unknown local action type: notification/triggerSelfDismissingNotification, global type: gameboard/notification/triggerSelfDismissingNotification
vuexモジュールからモジュールへディスパッチする方法はありますか?または、ルートvuexインスタンスで何らかのブリッジを作成する必要がありますか?
どのように解決するのですか?
ルートコンテキストからディスパッチすることを指定すればいいんです。
// from the gameboard.js vuex module
dispatch('notification/triggerSelfDismissingNotifcation', {...}, {root:true})
これで、ディスパッチがルートに到達したとき、notificationモジュールへの正しい名前空間パス(ルートインスタンスからの相対パス)を持つことになります。
これは、あなたが
namespaced: true
を使用します。
関連
-
[解決済み】CypressとJestは併用した方がいい?
-
[解決済み] Vue.js Chrome DevtoolsがVue.jsを検出しないのはなぜですか?
-
[解決済み] Vue.jsで12件中1~3件を表示させるには?
-
[解決済み] npm run dev」「npm run watch」はどのようなスクリプトですか?
-
[解決済み] Vue 2.0でコンポーネント自身を削除する方法
-
[解決済み] プロジェクトのvue.jsのバージョンを確認する方法は?
-
Vue.js学习的第一天
-
プロキシエラーです。localhost:8090 から http:10.12.0.15:7777 へのリクエスト /queryCarList をプロキシできませんでした。
-
[解決済み] Nuxt.jsで "window is not defined "と表示される。
-
[解決済み】Vue.jsでv-onにイベントと引数を渡す。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] オブジェクトのリストからオブジェクトを選択するBootstrap vue b-form-select
-
[解決済み] プロジェクトのvue.jsのバージョンを確認する方法は?
-
_this.axios is not a functionの原因と解決方法
-
[解決済み] Nuxt.jsで "window is not defined "と表示される。
-
[解決済み] Vuex - 計算されたプロパティ "name "が割り当てられたが、セッターを持たない
-
[解決済み】名前空間が設定された2つのVuexモジュール間でアクションをディスパッチする方法はありますか?
-
[解決済み】他のアクションの中からアクションを呼び出す
-
[解決済み】Vuex - ミューテーションに複数のパラメータを渡す
-
[解決済み] Vueプロジェクトにおけるviewsフォルダとcomponentsフォルダの違いは何ですか?
-
[解決済み] Vue.js - シングルファイルコンポーネントでヘルパー関数をグローバルに利用できるようにする