В этих случаях я обычно использую какой-либо флаг, обычно на сервисе, который я внедряю, который сохраняет выбранную опцию.Затем я установил «активный» класс, используя ngClass, основываясь на значении сервиса.Итак, что-то вроде этого:
<tabset type="pills" [justified]="true" *ngIf="someCondition ">
<tab *ngFor="let category of categories"
heading="{{category.categoryNumber}} {{category.categoryName}}"
[ngClass]="{ 'active' : category.categoryNumber === someSvc.selectedCategoryNumber }"
(select)=setCategory(category.categoryNumber)>
</tab>
</tabset>
constructor(private someSvc: MySomeService) { }
setCategory(categoryNumber) {
this.someSvc.selectedCategoryNumber = categoryNumber;
this.currentCategory = categoryNumber;
this._ref.detectChanges();
...
}
Я уверен, что есть более элегантный способ, и, надеюсь, кто-то придет, чтобы показать это нам обоим, но это всегда работало достаточно хорошо для меня, так какЯ почти всегда внедряю какую-то услугу почти каждому компоненту.