我尝试通过调用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
});
},
};
我收到以下错误
删除失败ReferenceError:未定义getSites
我应该如何调用获取新的项目列表?或者我应该在我的组件then()
内完成吗?
答案 0 :(得分:2)
我从 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,
}
}
}