- Vuex是Vue的状态管理模式(全局状态管理),集中式存储管理应用的所有组件的状态;
- 也就是是需要共享的data,使用vuex进行统一集中式的管理。
- 大型应用用到Vuex
附上vuex的运行过程,官网的图片:组件派发任务到actions,actions触发mutations中的方法,然后mutations来改变state中的数据,数据变更后响应推送给组件,组件重新渲染
面试题:vuex action和mutations区别?
https://www.cnblogs.com/jane-panyiyun/p/12889727.html
1. 文档中定义是action做异步,mutations做同步。当然实际如果在mutations里面new一个promise也是可以执行的。
2. 通过action和mutations的分离,比较好的实现访问后台和本地状态刷新的解耦。
action类似java中的service, 负责接收数据,转换整理,业务逻辑但不碰数据库。
而mutations类似java中的dao层。
3. 如果想完全解耦,把统一接口暴露在action中
实际上:
访问网络的东西, 写在action层(就是promise里面的第一层,action启动模拟axios访问后台);
修改数据的,也就是promise里面的then,写在mutations层,访问完网络要做的事情,修改状态,通过MVVN模型渲染到界面