web-dev-qa-db-ja.com

別のvuexモジュールからゲッターにアクセスする方法は?

Vuexゲッター内では、次のように別のvuexモジュールから状態にアクセスできることがわかっています。

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

ただし、状態ではなく別のvuexモジュールからゲッターにアクセスするにはどうすればよいですか?

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

rootState.filters.activeFilters

activeFiltersは私のゲッターですが、これは機能しません。 rootState.filters.getters.activeFiltersを使用しても機能しません。

37
Stephan-v

ドキュメントを掘り下げなければなりませんでしたが、私はそれを見つけました:

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

(そのページでRootGettersをCtrl + F検索)

私のコードは次のようになります:

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

すべてのrootGetterはグローバルであり、モジュール名で状態にプレフィックスを付けるrootStateのように使用しないことに注意してください。

次のように、別のモジュールからゲッターを呼び出すだけです。

rootGetters.activeFilters

うまくいけば、これが将来これに直面している人の助けにもなることを願っています。

75
Stephan-v