我的指令有一个自定义事件,比如说my-event
的用法如下:
<div (my-event)="handle($event)">
,用户处理该事件,例如:
async handle(e) {
await handleEvent(e);
}
然后我想在事件由用户提供的上述代码处理之后执行特定的操作。
当前我正在做的是从指令中提供一个done
函数:
// ...
this.myEvent.emit({ event: e, done: this.done });
}
done = () => { /* do something */ };
处理完事件后,让用户调用done
函数:
async handle({ event, done }) {
await handleEvent(event);
done();
}
我的问题:是否可以将调用done
的一部分从用户代码移至指令,以便用户仅按需要处理事件,而不必担心调用done
函数?