我正在开发一个从后端获取机场的webapp。我也在使用Vuex来共享状态和数据。我的问题是我应该在我的VueX操作或我的vue实例方法中加载机场然后调用仅调度事件的操作
实施例
// ajax from vuex actions
export const loadAirports = ({dispatch})=>{
//load data via vue-resource
dispatch("SET_AIRPORTS",data);
}
或
//action
export const setAirports(({dispatch},airports) =>{
dispatch("SET_AIRPORTS",airports);
}
new Vue({
ready(){
//load data view-resource
this.setAirports(data);
}
})
答案 0 :(得分:4)
突变应该始终是同步的。但是在行动中做你的ajax很好,事实上这就是在许多official examples中完成它的方式。我会做的
import {loadAirports} from './actions.js'
new Vue({
vuex:{
actions: {
loadAirports
},
getters: {
airports: state => state.airports
}
},
ready(){
this.loadAirports();
}
});