【发布时间】:2018-01-17 13:17:32
【问题描述】:
我一定错过了什么。如何将 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
};
它有效,但它几乎不是正确的方法。还是这样?
【问题讨论】:
标签: javascript module namespaces vuex