uniapp this.$store.dispatch
时间: 2023-10-20 08:33:46 浏览: 199
在Uniapp中,`this.$store.dispatch`是用于分发一个action到store的方法。它可以用来触发store中定义的异步操作或提交mutation。
例如,如果你的store中有一个名为`incrementAsync`的action,你可以在组件中使用`this.$store.dispatch('incrementAsync')`来触发这个action的执行。
下面是一个示例:
```javascript
// store.js
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment(state) {
state.count++
}
},
actions: {
incrementAsync({ commit }) {
setTimeout(() => {
commit('increment')
}, 1000)
}
}
})
export default store
```
```vue
<!-- MyComponent.vue -->
<template>
<button @click="incrementAsync">Increment Async</button>
</template>
<script>
export default {
methods: {
incrementAsync() {
this.$store.dispatch('incrementAsync')
}
}
}
</script>
```
在上面的示例中,当按钮被点击时,`incrementAsync`方法会被触发,然后`this.$store.dispatch('incrementAsync')`会将`incrementAsync` action 分发到store中,最终触发mutation来更新state中的count值。
阅读全文