2017-09-01 72 views
1

在一个vuex吸气我知道这是可能从另一个vuex模块访问的状态,像这样:如何从另一个vuex模块访问getter?

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

如何从另一个vuex模块来代替,虽然国家访问的getter?

我有一个名为过滤器,我需要访问另一个vuex模块,我已经试过这样:

rootState.filters.activeFilters 

哪里activeFilters我消气,但这不起作用。使用rootState.filters.getters.activeFilters也不起作用。

回答

6

已通过的文件挖,但我发现它:

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

(Ctrl + F键搜索RootGetters该网页上)

我的代码变成:

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

请注意,所有rootGetter都是全局的,并且不再像rootState那样使用它,您可以使用模块名称作为前缀。

您只需拨打从另一个模块吸气像这样:

rootGetters.activeFilters 

希望这将有助于有人出来到底是谁运行到这个问题,以及未来。

+6

如果您正在访问的getter模块是命名空间,则需要使用'rootGetters ['moduleName/getterName']'。 – thanksd

+0

谢谢,很好。 –