简体   繁体   English

创建在角度6动态html导航选项卡

[英]creating html nav-tabs dynamic in angular 6

I am very new to angular 6, I have created tabs in HTML and I need to convert it in angular 6 and also make it dynamic. 我对angular 6非常陌生,我已经在HTML中创建了标签页,我需要将其转换为angular 6并使其动态化。 below is my HTML code- 以下是我的HTML代码-

<ul class="nav nav-tabs side_nav" role="tablist">
  <li role="presentation" class="dashboard_li active">
     <a href="#one" class="coin_name" aria-controls="one" role="tab" data-toggle="tab"></a>
  </li>
  <li role="presentation" class="dashboard_li">
    <a href="#two" class="coin_name" aria-controls="two" role="tab" data-toggle="tab"></a>
  </li>
</ul>
<div class="tab-content">
  <div role="tabpanel" class="tab-pane active" id="one"></div>
  <div role="tabpanel" class="tab-pane active" id="two"></div>
</div>

I have converted it angular 6, below is my angular code - 我将其转换为角度6,下面是我的角度代码-

<ul class="nav nav-tabs side_nav" role="tablist">
  <li *ngFor="let wallet of coinwallet; let first = first;" [ngClass]="{firstItem: first}" role="presentation" class="accounts_li" [class.active]="selectedwallet===wallet">
    <a (click)="selectedwallet = coinwallet" aria-controls="one" role="tab" data-toggle="tab"></a>
  </li>
</ul>

<div class="tab-content">
  <div role="tabpanel" class="tab-pane active" id="one"></div>
  <div role="tabpanel" class="tab-pane active" id="two"></div>
</div>

Now I have two pints here - 1- how would I make tab-content dynamic according to tabs 2- Currently tabs are not working, as I am changing from one tab to another tab, tab-content always remain same, it's not changing according to the tab. 现在,我在这里有两个品脱-1-如何根据选项卡使选项卡内容动态化2-当前选项卡不起作用,因为我正在从一个选项卡更改为另一个选项卡,所以选项卡内容始终保持不变,而根据到标签。 Any help would be appreciated. 任何帮助,将不胜感激。 Thanks in advance. 提前致谢。

you need to show/hide tab-content using *ngIf angular directive 您需要使用*ngIf angular指令显示/隐藏制表符内容

<ul class="nav nav-tabs side_nav" role="tablist">
  <li *ngFor="let wallet of coinwallet; let first = first;" [ngClass]="{firstItem: first}" role="presentation" class="accounts_li" [class.active]="selectedwallet===wallet">
    <a (click)="selectedwallet = wallet" aria-controls="one" role="tab" data-toggle="tab">{{wallet}}</a>
  </li>
</ul>

<div class="tab-content">
  <div *ngIf="selectedwallet === coinwallet[0]" role="tabpanel" class="tab-pane active" id="one">wallet 1 content</div>
  <div *ngIf="selectedwallet === coinwallet[1]" role="tabpanel" class="tab-pane active" id="two">wallet 2 content</div>
</div>

.ts: .TS:

  coinwallet: string[] = ['wallet1','wallet2'];
  selectedwallet = this.coinwallet[0];

check working code here 在这里检查工作代码

I think rather than converting HTML tabs to Angular, You can directly user ng-bootstrap components which works very well with Angular and comes with lot of configurable options. 我认为您可以直接使用ng-bootstrap组件,而不是将HTML选项卡转换为Angular,它可以与Angular一起很好地工作,并带有许多可配置的选项。 below is a link for ng-bootstrap tabs 以下是ng-bootstrap标签的链接

https://ng-bootstrap.github.io/#/components/tabs/examples https://ng-bootstrap.github.io/#/components/tabs/examples

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM