2016-08-18 97 views
1

我正在開發一個webapp,它從後端獲取機場。我也在使用Vuex來共享狀態和數據。我的問題是我應該加載機場在我VueX行動或對我的VUE實例方法,然後調用僅調度事件我應該使用vue-resources Vuex動作

// 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); 
    } 
}) 

回答

3

突變作用應始終同步。但是,在行動中執行你的ajax是很好的,事實上,在許多​​中它是如何完成的。我會做

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

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