Vuex 简介
在 Vue 应用程序中,组件的状态通常是局部的,但在某些情况下,您可能需要管理全局状态。Vuex 可以帮助您实现这一目标。其核心概念包括:
- State:存储应用程序的全局状态;
- Getters:从 State 派生出的计算属性,用于访问和计算状态;
- Mutations:更改状态的唯一方式,同步操作;
- Actions:执行异步操作,可以向服务器发起请求,然后在完成后提交 Mutations;
- Modules:将大型应用程序的状态划分为模块,以便更好地组织和维护代码。
辅助函数
Vuex 提供了一些辅助函数,使在 Vue 组件中使用 Vuex 更加方便。以下是 Vuex 的辅助函数:
-
mapState:将 Vuex State 映射到 Vue 组件的计算属性。例如:
import { mapState } from 'vuex'; export default { computed: { ...mapState(['state1', 'state2']) } } ```
-
mapGetters:将 Vuex Getters 映射到 Vue 组件的计算属性。例如:
import { mapGetters } from 'vuex'; export default { computed: { ...mapGetters(['getter1', 'getter2']) } } ```
-
mapMutations:将 Vuex Mutations 映射到 Vue 组件的方法。例如:
import { mapActions } from 'vuex'; export default { methods: { ...mapActions(['action1', 'action2']) } } ``` [点击并拖拽以移动]
4.mapActions:将 Vuex Actions 映射到 Vue 组件的方法。例如:
import { mapActions } from 'vuex';
export default {
methods: {
...mapActions(['action1', 'action2'])
}
}
```
使用这些辅助函数可以让你更简洁地在组件中使用 Vuex 的状态和方法。但请注意,这些辅助函数并非必需,你也可以直接在组件中使用 this.$store
来访问 Vuex 实例。