Angular-动态加载选项卡名称和组件

Shakthifuture

在我的应用程序中,我想动态加载选项卡名称和组件

JSON数据下方包含tab nametab links

"menu" : {
     "First": "link1",
     "Second": "link2",
     "Third": "link3"
}

链接配置如下角路由器文件

const routes: Routes = [
  { path: '', component: HomeComponent},
  { path: 'link1', component: HomeComponent},
  { path: 'link2', component: UserPreferenceComponent},
  { path: 'link3', component: TableComponent },
  { path: '**', redirectTo: '' }
];

我想基于JSON中配置的链接加载选项卡。

<mat-tab-group>
    <mat-tab label="First"> <!--Link 1 component --> </mat-tab>
    <mat-tab label="Second"> <!--Link 2 component --> </mat-tab>
    <mat-tab label="Third"> <!--Link 3 component --> </mat-tab>
</mat-tab-group>

链接1组件的意思是 <app-home></app-home>

有人可以让我知道如何实现吗?

Msk Satheesh

使用 Object.entries

方法1:不进行路由

app.component.html

<mat-tab-group>
    <mat-tab *ngFor="let tab of obj" [label]="tab[0]">
        <app-home *ngIf="tab[1] == 'link1'"></app-home>
        <app-user-preference *ngIf="tab[1] == 'link2'"></app-user-preference>
        <app-table *ngIf="tab[1] == 'link3'"></app-table>
    </mat-tab>
</mat-tab-group>

app.component.ts

  matTabs: any = {
    menu: {
      First: "link1",
      Second: "link2",
      Third: "link3"
    }
  };
  obj: any;

  constructor() {
    this.obj = Object.entries(this.matTabs.menu);
  }

方法2:使用路由

app.component.html

<mat-tab-group (selectedTabChange)="tabChange($event)">
     <mat-tab *ngFor="let tab of obj;" [label]="tab[0]">
     </mat-tab>
</mat-tab-group>
<router-outlet></router-outlet>

app.component.ts

matTabs: any = {
    menu: {
      First: "link1",
      Second: "link2",
      Third: "link3"
    }
  };
  obj: any;

  constructor() {
    this.obj = Object.entries(this.matTabs.menu);
  }

  tabChange(evt: MatTabChangeEvent) {
    this.router.navigate([this.matTabs.menu[evt.tab.textLabel]]);
  }

这里的stackblitz例子:

https://stackblitz.com/edit/angular-mat-tab-active-xfa7n7?file=app/tabs-template-label-example.ts

希望这可以帮助 :)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Angular-动态加载选项卡名称和组件

来自分类Dev

Angular-动态加载选项卡名称和组件

来自分类Dev

Angular-动态加载选项卡名称和组件

来自分类Dev

组件中的 Angular 7 选项卡

来自分类Dev

在选项卡上单击使用 angular CLI 动态加载内容

来自分类Dev

Flexbox和Angular材质选项卡

来自分类Dev

Flexbox和Angular材质选项卡

来自分类Dev

Angular Bootstrap-默认选项卡处于活动状态(动态选项卡)

来自分类Dev

使用Angular UI Bootstrap在动态创建的选项卡上设置活动选项卡

来自分类Dev

Angular slickgrid 不显示在动态选项卡内(ngx-bootstrap 选项卡集)

来自分类Dev

如何在Angular js的选项卡集中的选项卡上启用延迟加载?

来自分类Dev

向动态创建的选项卡添加内容 - Angular 7

来自分类Dev

angular-ui-router和angular-ui-bootstrap选项卡:内容多次加载到DOM中

来自分类Dev

如何从Angular和Typescript中的选项卡数组中禁用选项卡元素

来自分类Dev

如何使用Angular和Bootstrap中的“全部”选项卡进行选项卡导航?

来自分类Dev

带有动态控制器的Angular + ui-angular动态选项卡

来自分类Dev

具有动态控制器的Angular + ui-angular动态选项卡

来自分类Dev

angular ui bootstrap选项卡组件:未单击选项卡处于活动状态时如何获取选项卡内容

来自分类Dev

通过Angular JS创建新组件时选项卡的默认选项

来自分类Dev

选项卡组件内的表单构建器无法在 Angular 6 中工作

来自分类Dev

Angular JS选项卡CSS

来自分类Dev

Angular Bootstrap中的选项卡

来自分类Dev

嵌套的 Angular 材质选项卡

来自分类Dev

Angular.js-UI路由器的其他选项和引导选项卡

来自分类Dev

具有Angular Material动态高度选项卡的可滚动内容元素

来自分类Dev

使用Angular 2使用选项卡可动态切换样式化HTML内容

来自分类Dev

Angular 8-如何将惰性模块加载到选项卡中

来自分类Dev

Angular ngbootstrap 在页面加载时以编程方式选择选项卡

来自分类Dev

动态加载组件 Angular 2

Related 相关文章

  1. 1

    Angular-动态加载选项卡名称和组件

  2. 2

    Angular-动态加载选项卡名称和组件

  3. 3

    Angular-动态加载选项卡名称和组件

  4. 4

    组件中的 Angular 7 选项卡

  5. 5

    在选项卡上单击使用 angular CLI 动态加载内容

  6. 6

    Flexbox和Angular材质选项卡

  7. 7

    Flexbox和Angular材质选项卡

  8. 8

    Angular Bootstrap-默认选项卡处于活动状态(动态选项卡)

  9. 9

    使用Angular UI Bootstrap在动态创建的选项卡上设置活动选项卡

  10. 10

    Angular slickgrid 不显示在动态选项卡内(ngx-bootstrap 选项卡集)

  11. 11

    如何在Angular js的选项卡集中的选项卡上启用延迟加载?

  12. 12

    向动态创建的选项卡添加内容 - Angular 7

  13. 13

    angular-ui-router和angular-ui-bootstrap选项卡:内容多次加载到DOM中

  14. 14

    如何从Angular和Typescript中的选项卡数组中禁用选项卡元素

  15. 15

    如何使用Angular和Bootstrap中的“全部”选项卡进行选项卡导航?

  16. 16

    带有动态控制器的Angular + ui-angular动态选项卡

  17. 17

    具有动态控制器的Angular + ui-angular动态选项卡

  18. 18

    angular ui bootstrap选项卡组件:未单击选项卡处于活动状态时如何获取选项卡内容

  19. 19

    通过Angular JS创建新组件时选项卡的默认选项

  20. 20

    选项卡组件内的表单构建器无法在 Angular 6 中工作

  21. 21

    Angular JS选项卡CSS

  22. 22

    Angular Bootstrap中的选项卡

  23. 23

    嵌套的 Angular 材质选项卡

  24. 24

    Angular.js-UI路由器的其他选项和引导选项卡

  25. 25

    具有Angular Material动态高度选项卡的可滚动内容元素

  26. 26

    使用Angular 2使用选项卡可动态切换样式化HTML内容

  27. 27

    Angular 8-如何将惰性模块加载到选项卡中

  28. 28

    Angular ngbootstrap 在页面加载时以编程方式选择选项卡

  29. 29

    动态加载组件 Angular 2

热门标签

归档