通过actions来实现异步操作,actions通过mutations去实现state赋值
1. 通过actions来实现异步操作,actions通过mutations去实现state赋值
mutations: {
getData(state,payload){
state.num = payload
}
}
actions: {
asyncData({commit}){
let num;
return new Promise((resolve,reject)=>{
setTimeout(()=>{
num = 10
commit('getData',num)
resolve()
},3000)
})
}
},
2. 页面使用
(1)mapActions是vuex方法引用的一种快捷方式
import {mapActions} from 'vuex'
methods:{
...mapActions(['asyncData']),
getData(){
this.asyncData().then(()=>{
console.log(this.$store.state.num);
})
}
},
created() {
this.getData();
},