如何在更改mat-checkbox时调用函数来停止事件传播?

问题描述 投票:1回答:1
<mat-checkbox (change)="handleProductClick(children, $event)"  [(ngModel)] = "children.selected"
[name]="children.grpId" [id]="children.id"></mat-checkbox>

handleProductClick(selectedProd : Product, event: any)
{
  event.stopPropagation();
}

如果我使用点击功能而不是改变它工作正常。虽然我不能使用点击。我必须坚持改变。有没有办法从更改功能调用stopPropagation?如果没有,我还能做些什么来阻止事件传播?

onchange event-propagation
1个回答
3
投票

我搞定了。必须同时使用复选框上的单击和更改。我之前尝试过。唯一的区别是我在click方法中调用了一个函数,它从未调用过。如果在模板中的click方法上调用$ event.stopPropagation,则效果很好。奇怪。以下答案解决了我的问题。 Angular 2 prevent click on parent when clicked on child

<mat-checkbox (change)="handleProductClick(children, $event)"[checked]="children.selected" (click)="$event.stopPropagation()" [name]="children.grpId" [id]="children.id"></mat-checkbox>

© www.soinside.com 2019 - 2024. All rights reserved.