storeのactionから他のモジュールを呼び出したい
storeの更新をする際、別のモジュールも一緒に更新しようとしたのですが、
うまく出来ず時間を食ったので備忘録。
データを取得するとき
vue.js
export const actions = {
getFunction ({ state, rootGetters }, payload) {
// このモジュール内のデータを取得
const localData = state.dataList
// 別のモジュールからデータを取得
const adminData = rootGetters["modules/admin/dataList"]
}
}
他のモジュールにdipatchするとき
vue.js
export const actions = {
saveFunction ({ dispatch }, payload) {
dispatch('modules/admin/dataList', payload, { root: true })
}
}
このとき、dispatch
の第3引数に{ route: true }
をつけてあげれば良い。
ないとダメで、これでハマりました。