Я использую ngBootstrap с angular 2 и использую набор вкладок, как показано ниже.
<ngb-tabset class="cab-navbar-active active">
<ngb-tab>
<template ngbTabTitle>
<div>SOME
<span class="badge badge-warning" style="margin-left: 10px;">{{someList?.length}}</span>
</div>
</template>
<template ngbTabContent>
<p-dataTable #pDataTable [value]="someList" [rows]="5" [paginator]="true" [totalRecords]="totalRecords" sortMode="multiple" emptyMessage="">
<p-column *ngFor="let col of cCols" [field]="col.field" [header]="col.header | uppercase" [sortable]="true" [style]="col.style">
</p-column>
</p-dataTable>
</template>
</ngb-tab>
</ngb-tabset>
Что ж, если вы видите, что я определил локальную переменную шаблона с именем #pDataTable, и мы можем получить доступ с помощью @ViewChild, но для меня это неопределенно.
Но когда я определяю p-dataTable вне ngb-tabset, он работает, я могу получить к нему доступ.
Я не понимаю, в чем здесь проблема, я пробовал и @ViewChild, и @ConentChildern, но безуспешно.
Пожалуйста, дайте мне знать, правильный способ доступа к локальной переменной, завернутой в шаблон набора вкладок ng-bootstrap в нашем определенном компоненте.