Vuex
Vuex(vue2.x版本 -> 3.x版本)
什么是Vuex?
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,实现组件之间的数据共享。
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
Vuex 和单纯的全局对象有什么不同?
每一个 Vuex 应用的核心就是 store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state)。Vuex 和单纯的全局对象有以下两点不同:
Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。
你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。
什么时候使用Vuex?
- 多个视图依赖于同一状态。
- 来自不同视图的行为需要变更同一状态。
前端有些东西需要配置成开关的,
全局数据共享。
核心概念:
State
Getters
Mutations
Actions
Moudules
State
State提供唯一的公共数据源,所有共享的数据都要统一放到Store的State中进行存储。
// 创建store数据源,提供唯一公共数据
const store = new Vuex.Store({
state: {
count: 0
}
})
访问State(2种方式)
1. 组件访问State中数据的第1种方式:
this.$store.state.count // count是变量名称