2016-08-16 5 views
0

私は次のエラーVuex/Vuesのアクションから別のアクションを呼び出す方法は?

deletion failed ReferenceError: getSites is not defined

を取得

コード

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

以下のようなgetSites()メソッドを呼び出すことによって、それらのいずれかを削除した後サイトのリストを更新しようとしています質問

新しいアイテムリストを取得する方法を教えてください。または、私のコンポーネント内でそれを行う必要があります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, 
     } 
    } 
} 
関連する問題