vuex

发布时间 2023-06-14 14:53:10作者: 有只小菜猫

一、基本原理

开发大型单页应用时使用

  • 是一个专门为 Vue.js 应用程序开发的状态管理模式
  • 最大的特点是响应式
  • 在 Vuex 中存放一些需要在多个界面中进行共享的信息
  • Vuex 应用的核心就是 store(仓库),包含着应用中大部分的状态 ( state )

state中全局共享数据,更改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持久化存储