Vuex store 辅助函数 访问state
时间: 2024-05-14 21:19:26 浏览: 113
在使用 Vuex 时,我们可以使用辅助函数来访问 store 中的 state。常用的辅助函数有:
- mapState:将 store 中的 state 映射到组件的计算属性中;
- createNamespacedHelpers:创建一个与指定命名空间相关的辅助函数集合。
下面是具体的用法:
### 1. mapState
`mapState` 函数接收一个字符串数组或对象,每个字符串对应 state 中的一个属性名,或者是一个对象,对象的键名表示在组件中使用的名称,键值表示 state 中对应的属性名。
```js
import { mapState } from 'vuex'
export default {
computed: {
...mapState([
'count' // 映射 this.count 为 store.state.count
]),
...mapState({
// 映射 this.count2 为 store.state.count
count2: 'count'
})
}
}
```
### 2. createNamespacedHelpers
`createNamespacedHelpers` 函数接收一个命名空间字符串,返回一个对象,包含了以下四个辅助函数:
- mapState:映射 state 到组件的计算属性中;
- mapGetters:映射 getters 到组件的计算属性中;
- mapMutations:映射 mutations 到组件的 methods 中;
- mapActions:映射 actions 到组件的 methods 中。
```js
import { createNamespacedHelpers } from 'vuex'
const { mapState } = createNamespacedHelpers('myModule')
export default {
computed: {
...mapState([
'count'
])
}
}
```
以上是辅助函数访问 Vuex store 中 state 的用法。
阅读全文