angular 中的 onSelectionChange,模板端检查

onSelectionChange in angular, template side checking

我正在尝试在 mat-select(在 mat-option)中使用 onSelectionChange,我想知道是否可以在不接触 TS 的情况下使用以下代码来检查模板端的 $event .

<mat-select>
 <mat-option (onSelectionChange)="handleMetaSignalChange(metaSignal.name,$event);" *ngFor="let metaSignal of metaSignals" [value]="metaSignal">
  {{ metaSignal.name }}
 </mat-option>
</mat-select>

我想避免使用的 TS 端

 handleMetaSignalChange(metaSignal: string, event: any) {
    if (event.isUserInput) {    // ignore on deselection of the previous option
      console.log('Meta Signal Changed to ' + metaSignal + event.isUserInput);
    }
 }

我正在尝试做这样的事情:

<mat-option (onSelectionChange)="$event.isUserInput ? 'do one thing' : 'do another thing'" *ngFor="let metaSignal of metaSignals" [value]="metaSignal">

有没有可能做这样的事情?在模板端检查 $event?

是的,你可以做到。但我只推荐它用于一种衬里,简单的东西。但是看看反应形式。那么你根本不需要使用 onselectionchange。您可以直接通过打字稿收听表单更改。您的 html 将与表单的任何更改脱钩。它将主要包含内容