Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理项目的所有组件的状态。vuex的5个核心
- state 组件状态 我们在项目中一般不把数据存储在主分支上
- mutations 操作state中的数据的方法
- actions 调用mutations的方法 在项目中我们公共数据请求放在actions中了
- getters 对state中的数据做逻辑处理
- modules 对state中的数据分模块 在项目中我们根据功能模块将数据存储到modules模块中,开启了命名空间
vuex的运行机制是
在组件中通过dispatch 调用actions中的方法,在actions中通过commit调用muations中方法,在mutations中可以直接操作state中的数据,只要state中的数据发生改变就会立即响应到组件的视图上
vuex中持久化我们在项目中是通过插件 vuex-persistate实现的。Vuex数据持久化的原理是将Vuex存储在本地存储(localStorage)中,以便在页面刷新或关闭后仍能保留Vuex的状态。具体实现方式是监听Vuex的mutation,每次mutation被触发时,将Vuex的状态存储在本地存储中。在页面初始化时,从本地存储中读取Vuex的状态,恢复之前保存的状态。这样就可以实现Vuex数据的持久化。
vuex的使用方式可以通过映射函数或者挂载到原型上的方法来使用。
vuex在项目中使用是动态路由权限 存储一些用户的公共信息等