gpt4 book ai didi

Angular Material 选项卡 - 仅在选择事件选项卡时加载/卸载组件

转载 作者:行者123 更新时间:2023-12-03 18:28:43 26 4
gpt4 key购买 nike

鉴于 MainComponent.html 的以下代码:

<mat-tab-group #tabGroup (selectedTabChange)="onTabClick($event)">
<mat-tab label="Users">
<!-- Active Tab. This tab is shown first -->
<app-users></app-users>
</mat-tab>
<mat-tab label="Managers">
<app-managers></app-managers>
</mat-tab>
</mat-tab-group>

有两个组件是 两者 调用此 View 时加载并运行。即调用 ManagersComponent(非事件选项卡)的 ngOnInit。
import { Component, OnInit, OnDestroy } from '@angular/core';

@Component({
selector: 'app-managers',
templateUrl: './managers.component.html',
styleUrls: ['./managers.component.scss']
})
export class ManagersComponent implements OnInit, OnDestroy {

constructor() { }

ngOnInit() {
//This is called when the MainComponent is loaded.
}

ngOnDestroy() {

}
}

有没有办法加载和销毁组件,以便仅加载事件选项卡,而非事件选项卡在单击之前不会加载,并在离开时销毁?

即在上面的代码片段中,在选择事件选项卡之前,不会为 ManagersComponent 加载 ngOnInit,当离开时,将调用 ngOnDestroy

最佳答案

您可以使用 <ng-template>matTabContent <mat-tab> 中的属性

<mat-tab-group #tabGroup (selectedTabChange)="onTabClick($event)">
<mat-tab label="Users">
<ng-template matTabContent>
<app-users></app-users>
</ng-template>
</mat-tab>
<mat-tab label="Managers">
<ng-template matTabContent>
<app-managers></app-managers>
</ng-template>
</mat-tab>
</mat-tab-group>

see documentation

关于 Angular Material 选项卡 - 仅在选择事件选项卡时加载/卸载组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56634134/

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