Mat Tabs: есть ли в selectedTabChange способ использовать выбранные методы компонента табуляции? - PullRequest
1 голос
/ 05 июня 2019

Когда я использую selectedTabChange, вы можете получить индекс выбранной вкладки.Есть ли способ получить ссылку на компонент вкладки для использования его методов?

Я делаю динамическую панель вкладок, чтобы каждая вкладка внутри нее содержала информацию для загрузки сама, поэтому, когда я хочу загрузить ее, мне просто нужноиспользовать один метод там.Теперь я хочу вызвать этот метод из прослушивателя tabpanel selectedTabChange.Когда вы используете этот слушатель, вы можете получить индекс выбранной вкладки, но я не нашел способа получить ссылку на его компонент, который позволил бы мне использовать его методы.

Tabpanel (HTML):

<mat-tab-group (selectedTabChange)="onClickPestanya($event)">

    <mat-tab 
        *ngFor="let subfase of subfases;"
        label="{{ subfase.tabTitle }}"> 

        <app-panel-subfase 
            style="display: flex; flex-grow: 1" 
            *ngIf="someId"
            [(someCode)]="subfase.code">
        </app-panel-subfase>

    </mat-tab>

</mat-tab-group>

Tabpanel (Typescript):

onClickPestanya(event: MatTabChangeEvent): void {
        const me = this;

        me.activeTab = event.index;
        //There I should get tab component reference
}

Tab (Typescript):

cargarTab(): void {
        //loading tab info
    }

Я хочу загружать вкладки каждый раз, когда выбираю их на вкладке.Ранее я делал нечто похожее на это, но со статической панелью вкладок, где я могу использовать методы дочерних компонентов с директивой @ViewChild, но это не вариант для динамической панели.Другой вариант - создавать и уничтожать панель каждый раз, когда выбранная панель изменяется, чтобы загрузить ее после ее создания, но у меня тоже нет знаний для этого.

...