我想通过指定分配器方法mapState
。我目前使用一种变通方法,在该方法中,将我感兴趣的变量命名todo
为临时storetodo
变量,然后在另一个计算变量中引用它todo
。
methods: {
...mapMutations([
'clearTodo',
'updateTodo'
])
},
computed: {
...mapState({
storetodo: state => state.todos.todo
}),
todo: {
get () { return this.storetodo},
set (value) { this.updateTodo(value) }
}
}
我想跳过多余的步骤,直接在中定义getter,setter mapState
。
我为什么要这样做?
正常的方法是使用mapMutations
/ mapActions
&mapState
/ / mapGetters
而不使用上面已经说明的计算的get / set组合,并直接在HTML中引用该突变:
<input v-model='todo' v-on:keyup.stop='updateTodo($event.target.value)' />
getter / setter版本允许我简单地编写:
<input v-model='todo' />
您不能在其中使用getter / setter格式
mapState
您可以尝试直接返回状态
get()
并mapState
从计算的属性中删除这是一个相关但不相同的JsFiddle示例