我想传递道具的值并将其用作mapState中的命名空间,然后显示错误:“初始化应用程序时出错TypeError:无法读取未定义的属性'store'' 这是我的代码:
ParentComponent:<Editor store="store-test" />
ChildComponent:
export default {
props: ['store'],
computed: {
mapState(`${this.store}`, ['data'])
}
}
但是我替换了this.store = store-test
,我已经收到了想要的数据。
而且我不知道如何使用
...mapMutations({
function() {
}
})
相同
...mapState({
data(state) {
return state[this.store].data;
},
})
答案 0 :(得分:1)
由于mapState
在编译时返回computed
定义的值,因此您不能使用props
,因为它们仅在运行时分配。
您将不得不使用
computed: {
data () {
return this.$store.state[this.store].data
}
}
如果需要,您仍然可以使用mapState
,但是不能将prop值用作命名空间字符串
mapState({
data1 (state) { // note: cannot be an arrow function
return state[this.store].data1
},
data2 (state) {
return state[this.store].data2
}
})