Vuex 是 Vue.js 官方提供的状态管理库,用于管理应用程序中的共享状态
解决的问题:
1.在项目中,多个组件可能需要共享一个状态,vuex提供一个全局的状态管理机制,使得多个组件可以直接访问和修改共享的状态
2.状态的响应式更新,当全局状态发生变化时,所有使用该状态的组件都会对应的更新
五个属性
- state:放置全局状态,要return返回
- mutations:修改全局状态的方法定义到这里
- actions:修改异步的方法放这里
-
getters:Vuex的计算属性
-
modules:状态模块
组件中使用方法
-
1.在模板中直接通过 {{ $store.state.参数 }},在 js 中通过 this.$store.state.参数
-
2.mapState 的方式进行映射使用
-
3.组合式api用usestore获取:
解构usestore,创建store对象。store.state.参数
调用mutations里面的方法,store.commit(方法名,修改的数据)
vuex创建及导入方法
导入createStore->创建实例->导出实例->导入到main.js文件->挂载到app实例
刷新页面数据丢失
1.在页面刷新之前,把数据保存到本地存储
2.利用createPersistedState创建一个持久化对象,在reducer里面配置需要持久化的数据,并且return需要持久化的内容
状态模块什么时候使用
当我们定义的状态比较多的时候或多人开发时,每个人都可以单独定义自己需要的模块