Vuex 的基本使用

Vuex和redux是一个状态管理模式,它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
每一个 Vuex 应用的核心就是 store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state)。
Vuex 和单纯的全局对象有以下两点不同:

  1. Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。
  2. 你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。
  • state ——》储存初始化数据
  • getters ——》对State 里面的数据二次处理(对数据进行过滤类似filter的作用)比如State返回的为一个对象,我们想取对象中一个键的值用这个方法
  • mutations ——》对数据进行计算的方法全部写在里面(类似computed) 在页面中触发时使用
  • this.$store.commit('mutationName')触发Mutations方法改变state的值
  • actions ——》 处理Mutations中已经写好的方法 其直接触发方式是 this.$store.dispatch(actionName)
  • modules ——》模块化Vuex

 

(1)安装

Vuex 的基本使用

vuex安装

(2)然后就是新建一个store文件专门用于我们vuex的状态管理;

  • store文件夹下新建一个一个index.js
  • 引入vuevuex并注册
  • 导出vuex
  • 定义了一个state对象,这个对象包含了全部应用层级状态(全局共用的数据)

Vuex 的基本使用

引入

(3)然后我们还需要在main.js中注册这个vuex仓库

Vuex 的基本使用

注册

这样,我们安装及引用的一个vuex初始化就完成了。

(4)接下来我们在任意一个页面如test.vue中尝试获取到我们开始在state对象中定义的city值了

Vuex 的基本使用

 

Vuex官方文档

参考文章