Angular Dart 组件中的 (trigger) 和 (click) 有什么区别?

What is the difference betweeen (trigger) and (click) in Angular Dart Components?

我发现有些人正在使用 (trigger) 来绑定点击事件。 <material-button> 个元素,而我一直使用 (click)。这两个指令有什么区别?

<material-button (click)="doStuff()">

<material-button (trigger)="doStuff()">

对我来说,它们做的完全一样,但我可能是错的。

如您在 Official document

中所见

trigger@Output() 参数的名称,只要通过单击、点击或按键激活按钮,它就会发出事件。

(click) 仅适用于点击事件,但由于 (trigger) 是自定义事件发射器,因此它也适用于点击、点击和按键。

(trigger)(click)<material-button> 上最实际的区别是 (trigger) 事件被 [disabled] 属性过滤,而 (click) 没有。

<material-button (trigger)="someFunction()" [disabled]="true"> 不会调用 someFunction() onClick。

<material-button (click)="someFunction()" [disabled]="true"> 将调用 someFunction() onClick。

通常,我建议在使用 <material-button> 时绑定到 (trigger) 指令,如果您稍后决定添加 [disabled] 条件,则需要更改的代码较少。