Javascript (VueJS)Vuex getter应根据另一个模块状态更改进行更新
我有两个Vuex存储模块:Javascript (VueJS)Vuex getter应根据另一个模块状态更改进行更新,javascript,vue.js,vuejs2,vuex,Javascript,Vue.js,Vuejs2,Vuex,我有两个Vuex存储模块:ListItems和ListSortListItems有一个getter,它基本上是根据这两个模块的状态计算出来的。请参阅以下代码: // Import the ListSort store module import listSort from './list-sort'; // ListItems getters const getters = { companiesSorted: () => { return _.orderBy(state.c
ListItems
和ListSort
ListItems
有一个getter,它基本上是根据这两个模块的状态计算出来的。请参阅以下代码:
// Import the ListSort store module
import listSort from './list-sort';
// ListItems getters
const getters = {
companiesSorted: () => {
return _.orderBy(state.companies,
[listSort.state.sortAttribute],
[listSort.state.sortDirection]);
},
};
但是,当列表排序
中的状态更改(即排序属性
或排序方向
更改)时,这不会导致ListItems获取程序重新计算。我如何告诉Vuex,如果对计算公司存储的的依赖关系发生了变化,Vuex应该重新计算该getter
谢谢
考虑到对计算的依赖性,我如何告诉Vuex
存储的公司已更改,Vuex是否应重新计算该getter
你没有,这是自动为你做的!Vue对懒惰的开发人员来说不是很棒吗
唯一应该导入Vuex模块的JS模块是通过new Vuex.Store
初始化Vuex的JS模块,它将Vuex模块捆绑在一起
Vuex模块getter可以访问其本地状态
,以及根状态
。rootState
是访问其他模块数据的地方
它应该是这样的:
companiesSorted: (state, getters, rootState) => {
return _.orderBy(state.companies,
[rootState.listSortModule.sortAttribute],
[rootState.listSortModule.sortDirection]);
},
其中,listSortModule
是您为模块指定的名称