一、基本原理
开发大型单页应用时使用
- 是一个专门为 Vue.js 应用程序开发的状态管理模式
- 最大的特点是响应式
- 在 Vuex 中存放一些需要在多个界面中进行共享的信息
- Vuex 应用的核心就是 store(仓库),包含着应用中大部分的状态 ( state )
-
同步操作:通过mutation提交修改信息, 同时提供了订阅者模式供外部插件调用获取 State 数据的更新
-
异步操作【调用后端接口异步获取更新数据】或者批量同步操作:通过actions存放异步方法,无法直接修改 State,要通过Mutation 来修改State的数据,根据 State 的变化,渲染到视图上。
import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export default new Vuex.Store({ state: { //全局共享属性存放地 name:"张三", age:12, count:0 }, getters: { //vue中的computed,进行缓存,对于Store中的数据进行加工处理形成新的数据 }, mutations: { //更改 Vuex 的 store 中的状态的唯一方法是提交 mutation }, // 操作异步操作mutation actions: { }, modules: { }, })
二、使用处(存放一些需要在多个界面中进行共享的信息)
用户的登录状态
用户名称、头像、地理位置信息
商品的收藏、购物车中的物品等
三、vuex有哪些属性
功能 | 调用 | |
state | 全局共享属性 | this.$store.state |
mutations | 存放同步方法 | this.$store.commit |
actions | 存放异步方法,提交通过mutations | this.$store.dispatch |
getters | 针对state数据进行二次计算 | this.$store.getters |
modules | 模块化 |
state 发布一条新的数据 | 在 getters 里面根据状态派发新的状态 | actions 发送异步请求获取数据 | 然 后在 mutations 里面同步的更改数据
1、vuex调用state值
2、vuex使用mutations值
3、vuex使用actions值
4、vuex使用getters值
5、vuex使用modules
四、vuex持久化存储