vuex中的actions
官方建议actions用来处理异步操作
实际如下
<button @click="updataInfo">修改就完事了</button>
methods: {
updataInfo() {
this.$store.dispatch('updataInfo')
}
}
actions: {
updataInfo(context) {
setTimeout(() => {
context.commit('updataInfo')
}, 1000);
}
},
state: {
counter: 1000,
info: [
{name: '刘德华', age: 10},
{name: '张学友', age: 11},
{name: '黎明', age: 22},
{name: '郭富城', age: 23}
]
},
mutations: {
updataInfo(state) {
state.info[0].name = '孙笑川'
}
}
通过和mutations的方法比较得知 如果有异步操作,官方希望你先组件里dispatch 然后在actions里提交,最后在mutations里操作