Mat选项卡:selectedTabChange中是否可以使用选定的选项卡组件方法?

时间:2019-06-05 09:18:11

标签: angular angular-material2

当我使用selectedTabChange时,您可以获得选定的选项卡索引。有没有办法获取选项卡组件引用以使用其方法?

我正在做一个动态的标签面板,它里面的每个标签都有足够的信息来加载自身,所以当我要加载它时,我只需要在其中使用一种方法。现在,我想从选项卡的selectedTabChange侦听器中调用此方法。当您使用此侦听器时,可以获得选定的选项卡索引,但是我没有找到任何获取其组件引用的方法,这可以让我使用其方法。

Tabpanel(HTML):

stylecop.json

Tabpanel(打字稿):

<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>

标签(打字稿):

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

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

我想每次在选项卡面板中选择选项卡时都加载选项卡。我之前做过类似的事情,但是使用了静态的tabpanel,我可以在其中使用@ViewChild指令使用子组件方法,但这不是动态面板的选项。另一种选择是在每次选定的面板更改后创建并销毁面板,以在创建后加载该面板,但我都不知道这样做。

0 个答案:

没有答案