根据调用同一函数的html组件,在同一函数中执行不同的操作
我正在angular中制作一个基本的切换应用程序。我有两个切换按钮。我正在toggle中显示一条消息。我想在切换时调用相同的函数,但根据切换的按钮执行不同的操作。是否可能,或者我必须使用两个不同的函数?提前谢谢你的帮助 以下是我的模板代码:根据调用同一函数的html组件,在同一函数中执行不同的操作,html,angular,typescript,Html,Angular,Typescript,我正在angular中制作一个基本的切换应用程序。我有两个切换按钮。我正在toggle中显示一条消息。我想在切换时调用相同的函数,但根据切换的按钮执行不同的操作。是否可能,或者我必须使用两个不同的函数?提前谢谢你的帮助 以下是我的模板代码: <mat-card class="card" fxLayout="column" fxLayoutAlign="center center" > <form class="example-form" [formGroup]="formGro
<mat-card class="card" fxLayout="column" fxLayoutAlign="center center" >
<form class="example-form" [formGroup]="formGroup" (ngSubmit)="onFormSubmit()" ngNativeValidate>
<mat-action-list>
<mat-list-item > <mat-slide-toggle
(change)="onChange($event);displayMessage($event)" formControlName="Policy1" >
<span class="label">{{message}}</span></mat-slide-toggle></mat-list-item>
<mat-list-item > <mat-slide-toggle (change)="onChange($event)" formControlName="Policy2">Policy2</mat-slide-toggle></mat-list-item>
</mat-action-list>
<p>Form Group Status: {{ formGroup.status}}</p>
<button mat-raised-button [disabled]="disable" class="button" type="submit">Save Settings</button>
</form>
</mat-card>
(change)
发射器中的$event
对象有一个srcElement
,当您想找出是哪个元素导致了更改时,可以参考该对象
如果要检索调用函数的元素的id,可以使用
event.srcelelement.id
将更多参数传递给处理程序:
<mat-slide-toggle *ngFor="let item of thingsToDo; let i = index"
(change)= "onToggle($event, item.id, i)">
检查这个:你能提供一个stackblitz的例子吗?@PrashantPimpale我试图在一个函数中完成它,而不是使用不同的函数。这可能会起作用,但不是很好@mbojko回答更为惯用,因为我无法检索id。当我尝试使用e.srcElement.id获取id时,我遇到了无法读取未定义的属性“id”的错误。我必须对模板代码进行任何更改吗?
<mat-slide-toggle *ngFor="let item of thingsToDo; let i = index"
(change)= "onToggle($event, item.id, i)">
onToggle = (event, id, indexInArray) => { //...