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 将与表单的任何更改脱钩。它将主要包含内容
我正在尝试在 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 将与表单的任何更改脱钩。它将主要包含内容