详细介绍一下 vuex
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式和库。
它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
Vuex 能够解决多个组件共享状态时的复杂性,并且提供了一种更结构化的方法来组织应用程序的数据。
Vuex 的核心概念
-
State:应用的状态,是一个单一的对象,包含了应用中大部分的状态信息。
-
Getters:类似于 Vue 的计算属性,允许你从 store 中的 state 中派生出一些状态,以便于在多个组件中复用。
-
Mutations:更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。Vuex 中的 mutation 非常类似于事件:每个 mutation 都有一个字符串类型的事件类型 (type) 和一个回调函数 (handler)。这个回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数。
-
Actions:类似于 mutation,不同在于它们提交的是 mutation,而不是直接变更状态。Action 可以包含任意异步操作。
-
Modules:当应用变得非常复杂时,store 对象就可能变得相当臃肿。为了解决这个问题,Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter,甚至是嵌套子模块。