gpt4 book ai didi

angular - mat-tab懒惰加载选项卡仅一次

转载 作者:行者123 更新时间:2023-12-03 15:36:16 25 4
gpt4 key购买 nike

我正在使用Angular Material mat-tab,它设置为延迟加载选项卡的内容。

由于默认情况下第一个标签页已加载,因此我将第二个标签页设置为延迟加载。

我看到,当我在各个选项卡之间反复导航时,第二个选项卡的内容每次都会重新加载。我有一个Web API调用来获取数据并显示在选项卡内容中。

所以我想避免每次选择选项卡时都调用Web API。我该如何实现?

<mat-tab-group>
<!--Roles Tab-->
<mat-tab class="tabLabel" label="Roles">
<app-roles></app-roles>
</mat-tab>
<!--Admins Tab-->
<mat-tab class="tabLabel" label="Admins">
<!-- Lazy load below component -->
<ng-template matTabContent>
<app-admins></app-admins>
</ng-template>
</mat-tab>
</mat-tab-group>

最佳答案

在mat-tab-group上使用selectedIndexChange事件,然后将内容与ngIf放在div中,如下所示:

<mat-tab-group (selectedIndexChange)="tabChange($event)">
<mat-tab label="Today">
<ng-template matTabContent>
<hello name="{{ name }}"></hello>
</ng-template>
</mat-tab>
<mat-tab label="Yesterday">
<div *ngIf="yesterDayTabShow">
<hello name="Test"></hello>
</div>
</mat-tab>
</mat-tab-group>


见链接:
https://stackblitz.com/edit/angular-tu7jsg

关于angular - mat-tab懒惰加载选项卡仅一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52744288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com