Условие на вкладке ngx-bootstrap для постоянной инициализации компонента внутри него

#angular

#angular

Вопрос:

Как я могу поставить условие на вкладке ngx-bootstrap для инициализации компонента внутри нее? Нет сомнений, что существует много способов (показать / скрыть) компонент с использованием атрибута «active», но я хочу запускать ngOnInit компонента только при выборе вкладки. В нынешнем виде мой компонент ngOnInit будет запускаться, даже если я не выбирал вкладку. Каким-то образом [active]==false остановит загрузку component view, но это не остановит логику, стоящую за этим.

Ответ №1:

 <tabset #tabset>
  <tab
    heading="First tab"
    ><app-component1 *ngIf="tabset.tabs[0]?.active"></app-component1></tab>

  <tab
    heading="Second tab"
    ><app-component2 *ngIf="tabset.tabs[1]?.active"></app-component2></tab>


</tabset>
  

В модуле ngx-bootstrap tab вы можете использовать ссылку на tabset для доступа к активной вкладке и применения этого условия к компоненту *ngIf="tabset.tabs[1]?.active" . Это загрузит компонент только тогда, когда соответствующая вкладка активна.