ID должны быть уникальными в вашем HTML. Поэтому вы должны иметь возможность напрямую выбирать идентификатор, не беспокоясь о том, в какой DIV он находится. Поскольку вы упоминаете, что идентификатор прикреплен к тегу img
, этого должно быть достаточно.
$('#' + id);
Вместо вызова всех данных контента во время метода ngOninit (), который иногда никогда не используется, вы можете прикрепить обработчик событий (ngClick) к вашей вкладке ngb, например:
<ngb-tab *ngFor="let category of categories" (ngClick)="selectedTab(category.id)" [title]="category.name" [id]="category.id">
<ng-template ngbTabContent>
<!-- Here we will have some content.
This content comes from the API which takes category.id as a param -->
</ng-template>
</ngb-tab>
и в своем компоненте вы можете вызвать ваш метод отдыха, чтобы получить содержимое для вкладки:
@Component({...})
export class someComponent{
/* constructors private members bla bla */
selectedTab(id:int):any{
//call your service which makes http call to get content for your selected tab
getContent(id);
}
}
надеюсь, что ответ на ваш вопрос!