我应该在Vuex操作上使用vue-resource

时间:2016-08-18 03:55:19

标签: javascript vue.js vue-resource vuex

我正在开发一个从后端获取机场的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); 
    }
})

1 个答案:

答案 0 :(得分:4)

突变应该始终是同步的。但是在行动中做你的ajax很好,事实上这就是在许多official examples中完成它的方式。我会做的

import {loadAirports} from './actions.js'

new Vue({
  vuex:{
    actions: {
      loadAirports
    },
    getters: {
      airports: state => state.airports
    }
  },
  ready(){
    this.loadAirports();
  }
});