我肯定错过了什么。如何将 vuex mapState 与多个模块一起使用?
据了解,除了将对象作为参数传递外,命名空间 mapState 还可以采用两个参数:命名空间和表示模块成员的对象名称数组。像这样
// an imcomplete vue
export default {
computed: mapState('user', ['addresses', 'creditCards'])
};
但是,如果我想将来自第二个命名空间的对象添加到计算中怎么办?例如这样的供应商:
mapState('vendor', ['products', 'ratings'])
目前我正在像这样合并两个 mapState :
let userMapState = mapState('user', ['addresses', 'creditCards']);
let vendorMapState = mapState ('vendor', ['products', 'ratings']);
let mergedMapStates = Object.assign({}, userMapState, vendorMapState);
接着:
// an imcomplete vue
export default {
computed: mergedMapStates
};
它有效,但这几乎不是正确的方法。或者是吗?
原文由 LongHike 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 扩展运算符: