vuex中是单项流
v-model是vue中的双向绑定
以下写法会报错
// store.js
const store = new Vuex.Store({
state:{
searchValue:""
}
})
// 在组件里 template模板
<input type="search" v-model="searchValue" />
// 在组件里 script标签里
import { mapState } from 'vuex'
computed:{
// 映射为当前组件私有数据
...mapState(['searchValue'])
}
报错内容:Computed property ‘searchValue’ was assigned to but it has no setter (翻译:计算属性 searchValue 已经分配,但它没有setter)
searchValue是vuex的状态
因为v-model是双向绑定的,但以上代码的computed属性searchValue的写法实际上就是只通过get获取参数值,没有set无法改变参数值
解决办法:
computed 既能通过 get()获取参数值 ,也能通过 set()设置参数值