角度4 * ng如果没有按预期工作

时间:2017-09-22 13:12:16

标签: angular

我正在显示一系列来自网络服务的li个链接,所有这些链接都有titleslug属性。

问题是,如果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的网页。我怎么能避免这种情况?

1 个答案:

答案 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>