0
我想找出一种方法来为Vuex商店中的每个项目数组添加计算属性。例如,在待办事项列表应用程序中,每个待办事项项目可能都有DueDate和一个完成标志。基于这些属性,我们可以计算Todo项目是否过期。Vuex getter为每个项目
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
Todos: []
},
mutations: { /* ... */ },
actions: {/* ... */ }
);
let exampleTodo = {
Title: 'Go grocery shopping',
Completed: false,
DueDate: new Date("10/12/2017")
};
到目前为止,我已经加入了计算性能,在使用mapState
这样的组件级:
computed: {
...mapState({
todos: state => state.Todos.map(t => {
// Add some computed fields
return {
...t,
OverDue: !t.Completed && Date.now() > t.DueDate
};
})
})
}
但这意味着需要为每个组件来实现计算。对于这样简单的事情来说这不是什么大问题,但是对于更复杂的计算,我宁愿将它们放在一个地方。有没有办法在商店中实现这一点,还是应该继续使用这种模式?还是有什么我失踪?
啊,现在似乎很明显。谢谢! – connor