Angular:处理自定义事件处理程序执行结束的指令

时间:2018-08-10 23:09:18

标签: angular angular-directive angular-event-emitter

我的指令有一个自定义事件,比如说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函数?

0 个答案:

没有答案