一、问题描述
最近做项目,遇到这样一个问题。我在vuex的state中保存了一个状态属性,当点击某一按钮的时候,改变其值,然后另一个组件也用到了这个属性,需要用v-model绑定,我就想着直接绑定用v-model = 'this.$store.state.xxx'
,结果报错了,说这个属性没有定义
。错误的代码
二、问题解决
上面之所以报错的原因是因为
v-model主要提供了两个功能,view层输入值影响data的属性值,data属性值发生改变会更新view层的数值变化。 |
---|
说的简单点v-model是和组件的data打交道的
,现在直接绑定了vuex中的state的属性,会导致出错。
所以解决办法就是在组件的computed计算属性中,将这个vuex中state的属性先保存下来,然后再绑定给v-model
正确的代码