使myVal起作用的正确语法/钩子是什么?
我的代码如下:
<v-item-group v-model="myVal" ...
import { mapActions, mapGetters } from 'vuex';
export default {
computed : {
...mapActions({
myVal: 'myModulePath/setMyVal'
}),
...mapGetters({
myVal: 'myModulePath/getMyVal'
}),
},
}
商店看起来像:
actions: {
setMyVal({commit}, value){commit('someMutation',value);}
getters: {
getMyVal: state => { return state.myVal;}
我不确定如何接线,以便“设置器”工作并且错误消息消失。
我也尝试了这个尝试:
...mapState('myModulePath', ['myVal'])
答案 0 :(得分:3)
您需要定义一个computed with a get
and a set
function。也许:
export default {
computed : {
myVal: {
get() { return this.$store.getters.getMyVal; },
set(newValue) { this.$store.dispatch('setMyVal', newValue); }
}
},
}
答案 1 :(得分:3)
您需要告诉vue组件在为计算属性分配新值时该怎么做
computed: {
myVal: {
get: () => this.$state.store.getters.myModulePath.getMyVal,
set: (value) => this.$state.commit('someMutation', value )
}
}
请注意,我使用二传手而不是操作。在计算的属性设置器中使用操作不是一个好主意,因为操作通常是异步的,并且可能在以后调试计算的属性时引起头痛。