angular - 为什么角材料选项卡重新创建组件
问题描述
我的角度应用程序中有一个材料设计。
<mat-tab-group [dynamicHeight]="true">
<mat-tab label="tab1">
<ng-template matTabContent>
<div class="tab-content">
<div class="map-container-outer">
<div class="map-container">
<my-comp1></my-comp1>
</div>
</div>
</div>
</ng-template>
</mat-tab>
<mat-tab label="tab2">
<ng-template matTabContent>
<div class="tab-content">
<my-comp2></my-comp2>
</div>
</ng-template>
</mat-tab>
</mat-tab-group>
当我再次选择 tab2 和 tab1 时,组件 ( my-comp1, my-comp2
) 重新创建。
解决方案
当您使用时,<ng-template matTabContent>
您会以惰性方式加载选项卡内容。删除它们以使用所有选项卡的急切加载:
<mat-tab-group [dynamicHeight]="true">
<mat-tab label="tab1">
<div class="tab-content">
<div class="map-container-outer">
<div class="map-container">
<my-comp1></my-comp1>
</div>
</div>
</div>
</mat-tab>
<mat-tab label="tab2">
<div class="tab-content">
<my-comp2></my-comp2>
</div>
</mat-tab>
</mat-tab-group>
推荐阅读
- selenium-chromedriver - Gitlab CI ParameterResolutionException 无法解析参数
- javascript - 是什么导致这个小型 Svelte 应用程序中出现“ctx[1] 不是函数”错误?
- laravel - 使用 api 控制器时的路由
- javascript - 如何在 React 中获取子元素的样式(offsetTop)?
- github - 从 git add 添加文件的问题
- r - 如何使用 cmprsk 包获得科学的 p 值?
- sql - SQL:将时间戳与仅时间参数相匹配,以对多天的唯一时间进行分组和计数
- economics - 如何在 oTree 中将自己指定为玩家 2?
- xml - 自动将 XML 解析为 Logstash
- oracle12c - 无法在 Oracle Data Integrator 中获得正确电子邮件地址的通知