详谈vuex
2019-02-09 本文已影响0人
昱蓉呀
vuex是什么呢?
它是一个适用于vue的状态管理库,为应用中所有的组件提供集中式的状态并存和操作,保证了所有状态以可预测的方式进行修改。
vuex中有5个版块,分别是 state actions mutations getters modules
state
state 定义了应用状态的数据结构,同样可以在这里设置默认的初始状态。
actions
actions 即是定义提交触发更改信息的描述,常见的例子有从服务端获取数据,在数据获取完成后会调用store.commit()来调用更改store中的状态。可以在组件中使用dispatch来发出actions。
mutations
调用mutations是唯一允许更新应用状态的地方
getters
getters允许组件从store中获取数据,譬如我们可以从store中的projectList中筛选出已完成的项目列表
modules
modules对象允许将单一的store拆分为多个store的同时保存在单一的状态树中。随着应用复杂度的增加,这种拆分能够更好的组织代码。
vuex缺点
vuex中保存的数据是和网页的生命周期同步的,当执行页面刷新的时候vuex中所有数据都会消失复位到初始状态,所以不太适合做有分享页面的数据交互(在这种项目中vuex只适合数据的集中管理,不适合数据的存储,这种情况一般是使用路由传参会好一些)适合后台管理系统多一些,后台管理系统一般都是公司内部使用。