什么情况下使用vuex?

我现在有个疑惑,就是什么情况下使用vuex。
vuex官网的代码 。实现vue计数器。
如果计数器的counter是从后台获取,我每次操作加减按钮都会给后台传值。那我是不是使用vuex就没有意义?

阅读 15.3k
8 个回答

如果数据传到后台,不同的组件使用的话,都可以从后台拿到数据,只是网络请求开销比较大,父子组件通信的话,可以直接emit on,而多层嵌套组件通信就需要有vuex这样的解决方案,公共数据托管在state里,不同的组件都可以拿到这个数据。

楼上说的都对,我再补充几点。
除了 vuex,还有另一个轻量级的选择 bus.js,如果用的好,多人协同开发大型项目也是没有问题的,而且简单易懂易使用。

vuex用于状态机制,重点!

按照你这个情况是不用使用 vuex;
vuex 使用由于多个状态分散的跨越在许多组件和交互间各个角落,大型应用复杂度也经常逐渐增长。为了解决这个问题,Vue 提供 vuex;

多个组件间需要传递参数或状态时,用vuex是方便的。如果是从后台取数,可以用vuex+axios来做。记得异步取数要写在action里面。

一句话解释:

子组件需要读取、修改父组件的某项值时,就要用vueX了。

如果只是基本使用vue,比如子组件都不用,当然不用vueX

如果只是你描述的这样绑定修改显示几个参数,VUE就可以了,VUEX浪费。

一般情况下,兄弟组件之间可能也会涉及到数据的传递或者共享的问题。如果是父子组件,那么数据传递可以很好的控制和理解,官网上也给出了相应的使用demo。
但是兄弟组件如果涉及到数据传递和共享的情况,那么就必须有一个共享池,你可以把vuex的store理解为共享池,其他的就是如何触发方法,更新数据等等。

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