vuex中的actions
时间: 2023-11-21 10:57:05 浏览: 144
在Vuex中,Actions是用于处理异步操作的一种机制。Actions可以包含任意异步操作,例如API请求、定时器、Promise等。Actions通过分发(dispatch)mutations来改变store中的状态。与mutations不同的是,Actions可以包含任意异步操作,而mutations必须是同步的。
以下是一个简单的示例,演示如何在Vuex中使用Actions:
```javascript
// 定义一个actions对象
const actions = {
// 定义一个名为incrementAsync的action
incrementAsync({ commit }) {
// 在这里可以执行任意异步操作,例如API请求、定时器、Promise等
setTimeout(() => {
// 分发一个名为increment的mutation
commit('increment')
}, 1000)
}
}
// 在store中注册actions
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment(state) {
state.count++
}
},
actions: actions
})
```
在上面的示例中,我们定义了一个名为incrementAsync的action,它包含一个异步操作,即在1秒后分发一个名为increment的mutation。在store中注册actions时,我们将actions对象传递给了actions属性。
阅读全文