我正在显示一系列来自网络服务的li
个链接,所有这些链接都有title
和slug
属性。
问题是,如果li
属性为slug
,我不想显示home
,但是*ngIf
指令对我的代码没有影响:
<ng-container *ngFor="let page of pages">
<li *ngIf="page.slug!==home">
<a routerLink="{{ page.slug }}">{{ page.title }}</a>
</li>
</ng-container>
我得到的所有网页都包含slug
home
的网页。我怎么能避免这种情况?
答案 0 :(得分:5)
将home
加入''
。如果没有''
Angular尝试查找名为home
的属性,并且因为没有名称为home
的此类属性,则会返回undefined
。因此,与您的page.slug
进行比较时,每次都会返回true。
<ng-container *ngFor="let page of pages">
<li *ngIf="page.slug !== 'home'">
<a routerLink="{{ page.slug }}">{{ page.title }}</a>
</li>
</ng-container>