1. ホーム
  2. javascript

[解決済み] 他のVuexモジュールからゲッターにアクセスするには?

2023-03-18 12:25:16

質問

vuexのゲッター内で、他のvuexモジュールからこのように状態にアクセスすることが可能であることは知っています。

pages: (state, getters, rootState) => {
    console.log(rootState);
}

ステートの代わりに他のvuexモジュールからゲッターにアクセスするにはどうしたらいいでしょうか?

という別のvuexモジュールを持っています。 filters という別のVuexモジュールがあり、私はこれにアクセスする必要があります、私はこれを試しました。

rootState.filters.activeFilters

ここで activeFilters は私のゲッターですが、これはうまくいきません。 rootState.filters.getters.activeFilters もうまくいきません。

どのように解決するのですか?

ドキュメントを調べなければなりませんが、見つけることができました。

https://vuex.vuejs.org/en/api.html

(Ctrl+FでRootGettersを検索するとそのページに表示されます)

私のコードはこうなります。

pages: (state, getters, rootState, rootGetters) => {}

すべてのrootGettersはグローバルであり、rootStateのように状態をモジュール名で前置きして使用することができなくなったことに注意してください。

このように単に他のモジュールからゲッターを呼び出すだけです。

rootGetters.activeFilters

これが将来、同じようなことに遭遇している誰かの助けになることを願っています。