Вы можете сохранить выбранный значок в родительском компоненте:
public selectedBadgeIndex: number = null;
Следующее сохранение выбранного значка при нажатии:
<app-badge
*ngFor="let pagesize of [1,2,3]; let i = index"
[badge]="{ label: pagesize, value: pagesize }"
(onSelect)="setPageSize($event, i)"
></app-badge>
В родительском компоненте:
public setPageSize(event, i): void {
this.selectedBadgeIndex = i;
// ...
}
Но вы не должны сохранять выбранное состояние в компоненте значка, сделайте isSelected как свойство Input:
export class BadgeComponent implements OnInit {
// ...
@Input()
public isSelected: boolean = false;
И просто укажите состояние isSelected:
<app-badge
*ngFor="let pagesize of [1,2,3]; let i = index"
[badge]="{ label: pagesize, value: pagesize }"
[isSelected]="i === selectedBadgeIndex"
(onSelect)="setPageSize($event, i)"
></app-badge>