请问vue的html标签可以用v-model来改变store中的state吗?

图片描述

图片描述
第二张图片中,我用一个change事件监测按钮变化,this.cart和this.$store.state.cart
的console.log都是一样的,这个说明了state中的状态也跟着变了吗?但是我又尝试在change方法中人为的赋值this.cart=[]为空,可是再console.log(this.cart.length),竟然没有变,也就是说我自己赋值没有用,可为什么v-model却能改变呢

阅读 6.1k
2 个回答

要改变vuex里面的state只能通过mutations和actions啊

vuex提供的this.$store.state可以直接修改,它本身是可变对象,在vuex没开严格模式下不会报警告

你的场景可以使用计算属性的setter,即将store中的数据弄成computed给v-model用,再额外给这个computed一个setter,在v-model修改computed时触发动作修改全局state即可。

vuex的mapGetter我没记错的话是不会提供setter的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
1 篇内容引用
推荐问题
宣传栏