2016-08-16 67 views
0

我试图通过调用getSites()方法如下面如何从Vuex/Vues中的动作调用另一个动作?

代码

import http from 'services/http.service'; 
import logging from 'services/logging.service'; 

const sites = http('sites', localStorage); 

export default { 
    getSites({dispatch}) { 
     console.log('getSites') 
     sites.all().then((response) => { 
      dispatch('setSites', response.data.results); 
     }); 
    }, 
    deleteSite({dispatch}, site) { 
     return sites.delete(site).then(() => { 
      this.getSites() // <-------- doesn't works 
     }); 
    }, 
}; 

我收到以下错误删除其中一个后更新的网站列表

deletion failed ReferenceError: getSites is not defined

问题

我该如何调用获取我的新项目列表?或者我应该在我的组件then()内部执行此操作吗?

+0

迟到一点,但不会是工作做'讯(“getSites”)',而不是'this.getSites()'? – Can

回答

1

我删除电话从actions.js并没有从我的组件方法内:

import actions from 'vuex/actions'; 

export default{ 
    // … 
    methods: { 
     // … 
     delete_site(site){ 
      return this.deleteSite(site).then(response => { 
       this.getSites(); // <----------- call from here 
      }); 
     }, 
    vuex: { 
     actions: { 
      getSites: actions.getSites, 
      deleteSite: actions.deleteSite, 
     } 
    } 
} 
相关问题