首页 文章

如何从另一个vuex模块访问getter?

提问于
浏览
24

在vuex getter中我知道可以从另一个vuex模块访问状态,如下所示:

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

如何从另一个vuex模块而不是状态访问getter?

我有另一个名为 filters 的vuex模块,我需要访问,我试过这个:

rootState.filters.activeFilters

activeFilters 是我的吸气剂,但这不起作用 . 使用 rootState.filters.getters.activeFilters 也不起作用 .

1 回答

  • 53

    不得不仔细阅读文档,但我发现它:

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

    (Ctrl F在该页面上搜索RootGetters)

    我的代码变成:

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

    请注意,所有rootGetter都是全局的,您不再像rootState那样使用它,您可以使用模块名称为状态添加前缀 .

    你只需从另一个模块调用一个getter,如下所示:

    rootGetters.activeFilters
    

    希望这将有助于将来遇到这种情况的人 .

相关问题