Другой стратегией может быть привязка к значениям объекта и компонента вместо вызова методов. Таким образом, вы сможете более эффективно управлять состоянием в вашем компоненте.
Например, вы можете добавить в вашу объектную модель следующее:
public itemsObject = [{
id: 1,
val: 'john',
isChecked: false
}, {
id: 2,
val: 'jane',
isChecked: false
}];
Затем вы можете привязать это к флажкам, используя:
[checked]="item.isChecked"
Связывание с событием «change» также даст вам знать, когда что-то изменилось, и вы сможете действовать соответственно:
<mat-checkbox [checked]="item.isChecked" (change)="itemChanged(item,$event)">
Я создал Stackblitz, который показывает рабочий пример: -
https://stackblitz.com/edit/angular-uuw7qh-ninwen