vuex中getter的用法
时间: 2023-08-07 07:02:45 浏览: 200
在Vuex中,getter用于从store中获取数据并进行处理,类似于计算属性的作用。Getter可以理解为store的计算属性,它接收state作为第一个参数,并可以接收其他getter作为第二个参数。Getter可以通过在store中定义一个getters对象来创建。
例如,假设我们有一个名为todos的模块,其中包含一个状态todosList。我们可以通过getter来获取todosList的长度:
```javascript
// store.js
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
const store = new Vuex.Store({
state: {
todosList: ['todo1', 'todo2', 'todo3']
},
getters: {
todosCount: state => {
return state.todosList.length;
}
}
});
export default store;
```
然后我们可以在组件中通过`this.$store.getters.todosCount`来获取todosList的长度:
```javascript
// MyComponent.vue
export default {
computed: {
todosCount() {
return this.$store.getters.todosCount;
}
}
}
```
这样,我们就可以在组件中直接使用`todosCount`来获取todosList的长度了。
Getter还可以接收其他getter作为第二个参数,以便在getter之间进行嵌套和组合。这使得我们可以利用getter来计算一些复杂的派生状态。
总结一下,getter在Vuex中是用来从store中获取数据并进行处理的,类似于计算属性的作用。通过在store中定义getters对象,我们可以在组件中方便地使用getter来获取store中的数据。
阅读全文