【发布时间】:2020-02-28 03:31:47
【问题描述】:
我有 Login.vue 组件,它有方法 postData()
postData() {
this.$store.dispatch('doLogin', fdata)
},
doLogin 在 store.js 中
actions: {
doLogin({ commit }, loginData) {
commit('loginStart');
axios.post(this.state.apiURL+'/login', {
...loginData
})
.then(response => {
commit('loginStop', null);
commit('updateAccessToken', response.data.access_token);
})
.catch(error => {
commit('loginStop', error);
})
},
如何从 router.js 调用其他组件中的方法,让我们再说一遍 Login.vue?
我通常希望调用 Toast,它是 Login.vue 方法中的引导程序。
有什么想法吗?
【问题讨论】:
-
您不应该只是
return以axios.post(...).then(...)...链开头的Promise 链,以便您可以在您调用它的doLogin(...)操作之外继续该链吗?不确定它是否真的会在那里公开,但我想你可以这样做this.$store.dispatch('doLogin', fdata).then(() => /* do whatever else here */); -
感谢它有效(即在行动中返回承诺)。我在这里找到了更多信息:stackoverflow.com/questions/40165766/…
标签: vue.js authentication store toast bootstrap-vue