首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使不同MAT-TAB共享相同的HTML代码

如何使不同MAT-TAB共享相同的HTML代码
EN

Stack Overflow用户
提问于 2019-10-22 01:24:23
回答 1查看 1.8K关注 0票数 1

我在一个mat-tab-group中设置了一组mat-tab,问题是它们都共享一个表格的相同HTML码,这个表格是通过我在标签点击事件上捕获的函数动态填充的。

下面是一些代码。

代码语言:javascript
复制
<mat-tab-group (selectedTabChange)="tabClick($event)" [hidden]=isPageLoading() [@fadeIn]>
    <mat-tab label="A">
        <HTML CODE>
    </mat-tab>
    <mat-tab label="B">
        <HTML CODE>
    </mat-tab>
    <mat-tab label="C">
        <HTML CODE>
    </mat-tab>
</mat-tab-group>

因为我已经用这个函数填充了选项卡,

代码语言:javascript
复制
tabClick(event: any) {
    console.log(event.index);
    switch (event.index) {
      case 0: 
      this.populateA('','1','999999');
      console.log('Author');
        break;
      case 1: 
      this.populateB('','1','999999');
      console.log('Form');
        break;
      case 2: 
      this.populateC('','1','999999');
      console.log('Location');
        break;
}

正如您所看到的,不需要多次编写HTML,我如何为所有选项卡共享相同的代码,伪代码将如下所示,

代码语言:javascript
复制
<mat-tab-group (selectedTabChange)="tabClick($event)" [hidden]=isPageLoading() [@fadeIn]>
    <mat-tab label="A">
    <mat-tab label="B">
    <mat-tab label="C">
        <HTML CODE>
    </mat-tab>
    </mat-tab>
    </mat-tab>
</mat-tab-group>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-22 01:33:51

您可以使用ng-template来执行以下操作:

代码语言:javascript
复制
<mat-tab-group (selectedTabChange)="tabClick($event)" [hidden]=isPageLoading() [@fadeIn]>
    <mat-tab label="A">
         <ng-container *ngTemplateOutlet="tabContent"></ng-container>
    </mat-tab>
    <mat-tab label="B">
         <ng-container *ngTemplateOutlet="tabContent"></ng-container>
    </mat-tab>
    <mat-tab label="C">
         <ng-container *ngTemplateOutlet="tabContent"></ng-container>
    </mat-tab>
</mat-tab-group>

<ng-template #tabContent >
   <HTML CODE>
</ng-template>

编辑:

一个带答案的工作https://stackblitz.com/edit/angular-yqdsr6

使用多个mat-paginator时,您必须使用@ViewChild而不是@ViewChild

我还必须调整您的app.module.ts中的导入

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58491332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档