Angular 2(点击)有时不会触发

lef*_*ead 1 javascript twitter-bootstrap angularjs typescript

在我的 Angular 2 / Bootstrap / AdminLTE 中,我有以下模板:

<button type="button" class="btn btn-default"><i class="fa fa-cutlery" (click)='munch(1);'></i></button>
Run Code Online (Sandbox Code Playgroud)

这是调用这个方法:

async munch(amount: number) {
    console.log("Start")
    await this.food.redeem(amount);
    console.log("Stop")
}
Run Code Online (Sandbox Code Playgroud)

该按钮嵌入在导航栏中。然后我按下它,它似乎有大约 2/3 的随机机会触发。但是,在大约 1/3 的所有情况下,什么都没有发生,我什Start至在控制台上都看不到。

有什么可能会干扰 Angular 2 触发这些点击事件的方式吗?我的页面相对简单,我很确定我自己没有搞乱任何低级 DOM/事件处理/JavaScript。

小智 5

会不会,你的 i-tag 比你的按钮小?为什么不把 (click) 放在按钮里面而不是 i 标签呢?