在我的Nuxt
应用程序中,我将使用从mapState
帮助器中的商店中检索的数据来初始化计算属性,但是我还需要根据某些用户操作来修改这些计算属性的值。 / p>
我不能这样做,因为在使用该代码时出现“没有设置器”错误:
computed: {
...mapState({
monRaw: state => state.currentWeek
我试图将setter定义为无效,并且代码也没有太大意义:
computed: {
...mapState({
get: function (state) {
return state.currentWeek
},
set: function (state, data) {
state.currentWeek = data
}
使用mapState()定义时,是否根本无法更改计算属性的值?
答案 0 :(得分:0)
mapState是一种便利功能,可在vuex存储中的相同键下提供计算属性的映射。它提供对那些属性的只读访问。由于要使用更新,因此必须放弃mapstate并定义您自己的计算的getter / setter,如下所示:
computed: {
currentWeek: {
get() {
return this.$store.state.currentWeek;
},
set(v) {
this.$store.commit('updateCurrentWeek', v);
}
}
...
}
显然,updateCurrentWeek
必须在您的vuex存储区的mutation部分中定义。