vue的store的action
时间: 2023-09-12 21:02:53 浏览: 84
vuex中的store
Vue的store的action是Vuex中的一个概念,它用于处理异步操作和提交mutation。在Vuex中,action可以通过dispatch方法触发,它接收一个context对象作为参数,该对象包含了commit、state、getters等属性,可以用来调用mutations、获取state和getters等信息。
action可以返回一个Promise对象,当异步操作完成后,可以通过resolve()方法提交mutation,改变state的状态。
例如:
```
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment (state) {
state.count++
}
},
actions: {
incrementAsync ({ commit }) {
return new Promise((resolve, reject) => {
setTimeout(() => {
commit('increment')
resolve()
}, 1000)
})
}
}
})
```
在上面的代码中,当调用`incrementAsync()`方法时,会先执行异步操作,等异步操作完成后再通过commit方法提交mutation,改变state的值。这样就能够保证异步操作的正确性和可追溯性。
阅读全文