vue使用vuex时 关于v-model指令的数据绑定问题

vue使用vuex时 关于v-model指令的数据绑定问题

有两种写法想请教一些其中的区别

方法一
 <input v-model="$store.state.name" type="text">
export default new Vuex.Store({
  state: {
    name: "" // 投放速度模式
  }
});
方法二
 <input v-model="name" type="text">
computed: {
    name: {
        get() {
          return this.$store.state.name
        },
        set(v) {
          // 使用vuex中的mutations中定义好的方法来改变
          this.$store.commit('name', v)
        }
    }
}

那么这两种写法都是可行的吗?

阅读 3k
2 个回答

二者是不一样的。没有去测试,但是store的数据只能通过commit去改变,方法二应该是可行的,方法一不对的。
官方文档
https://vuex.vuejs.org/zh/gui...

这里在实际项目中都很少用(暂且不说哪个可以),既然你用vuex 他的应用场景是,多个同级组件,或者路由中数据共享。一般都有多个store。 项目中大都用modules, 然后在组件中使用map的形式。

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