我在用
"axios": "^0.19.0",
"vue": "^2.6.10",
"vuex": "^3.1.1"
我的vuex操作如下所示,并使用axios. 请求确实有效,并且收到了有效的响应。
skipQuestion({commit}, payload) {
let params = {
answer: {
id: payload.id,
skipped: true,
}
};
return new Promise((resolve, reject) => {
commit(UPDATE_LOADING, true);
Remote.put(`/answer.json`, params)
.then((response) => {
commit(UPDATE_LOADING, false);
commit(SKIP_QUESTION, payload.id);
resolve();
})
.catch((error) => {
commit(UPDATE_LOADING, false);
reject(error);
})
})
},
该组件Question确实具有以下方法skip,该方法调用vuex操作skipQuestion并将skip事件发送到父组件。
...mapActions(['skipQuestion']),
skip(evt) {
let payload = { id: this.question_id };
this.skipQuestion(payload).then( () => {
this.$emit('skip', this.uuid);
}).catch( (error) => {
console.log(error);
});
},
问题是,在操作块skip内使用该事件时,该事件不会发送给父级then。chrome 的 vue 开发者控制台也确认skip事件已被触发。如果我将发射放在块外,一切正常。任何建议出了什么问题?
守着星空守着你
catspeake
慕盖茨4494581
相关分类