[英]How to use Angular ngFor to create Bootstrap navbar links
The Nav Link 1
, Nav Link 2
and Nav Link 3
buttons are defined in app.component.html
with: Nav Link 1
、 Nav Link 2
和Nav Link 3
按钮在app.component.html
中定义:
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" (click)="onNavClick()" >Nav Link 1</a>
</li>
<li class="nav-item">
<a class="nav-link" (click)="onNavClick()" >Nav Link 2</a>
</li>
<li class="nav-item">
<a class="nav-link" (click)="onNavClick()" >Nav Link 3</a>
</li>
</ul>
Another three nav links Nav Link 4
, Nav Link 5
and Nav Link 6
are created with另外三个导航链接Nav Link 4
、 Nav Link 5
和Nav Link 6
是使用创建的
<li class="nav-item" *ngFor="let name of names">
<a class="nav-link" >{{name}}</a>
</li>
Apparently, the ones that were created with *ngFor
directive are rendered differently and loose any styling.显然,使用*ngFor
指令创建的那些会以不同的方式呈现并松散任何样式。 How to fix this issue> Here is the link to Stackblitz project:如何解决此问题> 这是 Stackblitz 项目的链接:
https://stackblitz.com/edit/angular-ivy-sff2wk?file=src%2Fapp%2Fapp.component.html https://stackblitz.com/edit/angular-ivy-sff2wk?file=src%2Fapp%2Fapp.component.html
It happens because you are placing li
tag after ul
tag..发生这种情况是因为您将li
标签放在ul
标签之后。
So you need to include,所以你需要包括,
<li class="nav-item" *ngFor="let name of names">
<a class="nav-link" >{{name}}</a>
</li>
inside ul
tag like,在ul
标签里面,
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" (click)="onNavClick()" >Nav Link 1</a>
</li>
<li class="nav-item">
<a class="nav-link" (click)="onNavClick()" >Nav Link 2</a>
</li>
<li class="nav-item">
<a class="nav-link" (click)="onNavClick()" >Nav Link 3</a>
</li>
<li class="nav-item" *ngFor="let name of names">
<a class="nav-link" >{{name}}</a>
</li>
</ul>
I would recommend to use ng-container我建议使用ng-container
<ul class="navbar-nav mr-auto">
....
<ng-container *ngFor="let name of names">
<li class="nav-item">
<a class="nav-link" >{{name}}</a>
</li>
</ng-container>
</ul>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.