在删除其中一个网站后,我尝试通过调用如下所示的 getSites()
方法来更新网站列表
代码
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()
中执行此操作?
最佳答案
我从 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,
}
}
}
关于ecmascript-6 - 如何从 Vuex/Vuejs 中的 Action 调用另一个 Action ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38980267/