我有一个父组件,其中有一个子组件。在子级中单击按钮时,它会发回父级:
clickevent(data){
this.$emit('back-to-parent', data);
}
我的困境是我需要知道何时完成发射,以便我可以执行依赖于它的代码。我尝试过:
clickevent(data){
this.$emit('back-to-parent', {data, done: () => {
alert('done')
} });
}
但是我的警报从未触发。我尝试了这些,但它们不起作用https://forum.vuejs.org/t/do-something-after-emit-has-finished-successful/10663
我的发射结束后如何执行代码?谢谢
答案 0 :(得分:1)
在父组件中:
@back-to-parent="onBackToParent"
...
methods: {
onBackToParent({ data, done }) {
// process data
if (done) {
done()
}
}
}
在子组件中:
clickevent(data){
this.$emit('back-to-parent', {data, done: () => {
alert('done')
} });
}