安装
npm i vuex
yarn add vuex
Vuex 是什么
- Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。
它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
核心概念
- State
- Getter
- Mutation
- 提交 mutation是更改 store 中状态的唯一方法, 相当于事件
- Action
- 类似于 mutation, 但 Action 提交的是 mutation,而不是直接变更状态,而且可以包含任意异步操作
- Module
- 将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter
- 官方购物车项目结构
├── index.html
├── main.js
├── api
│ └── ...
├── components
│ ├── App.vue
│ └── ...
└── store
├── index.js
├── actions.js
├── mutations.js
└── modules
├── cart.js
└── products.js
注意点
- 在 mutation-types.js 中定义类型常量,默认全部大写 —> 把常量放在单独的文件中可以让你的代码合作者或者迭代者对整个 app 包含的 mutation 一目了然
- Vuex- Action的 { commit }
getMenuAction:(context) =>{
context.commit('SET_MENU_LIST',['承保2','核保2'])
}
actions:{
getMenuAction:({commit}) =>{
commit(‘SET_MENU_LIST’,[‘承保2’,’核保2’])
}
}
context = {
dispatch: local.dispatch,
commit: local.commit,
getters: local.getters,
state: local.state,
rootGetters: store.getters,
rootState: store.state
}