我正在尝试构建一个子组件,它将事件调度到父组件并进入加载状态,直到父组件解析了该事件。
可以使用异步方法作为模板中事件的回调,如下所示:
父模板:
<some-child
@refresh="done => myAsyncCallback(done)"
>
父组件:
methods: {
async myAsyncCallback(done) {
await someVuexAction()
done() // notify the child the call is done
}
}
子组件
// Set component state to loading and change back once finished
this.loading = true
this.$emit('refresh', done => {this.loading = false}
现在这是很多样板,我宁愿把父权的async myAsyncCallback
方法作为匿名函数放入我的模板中。
我想像这样:
<some-child
@refresh="async done => await someVuexAction() && done()"
>
不幸的是,此代码为我提供了Syntax Error: Unexpected token, expected "," (1:421)
有什么建议吗?