【发布时间】:2017-10-06 13:13:59
【问题描述】:
在我使用 *ngIf 的代码中,它在任何时候都应该只显示两者之一。但问题是它只显示第二个,即使第二个不应该在某些时候显示。我使用 for 循环显示所有元素,但正如您在图片中看到的那样,即使第二个的值为 -1,也只显示第二个。感谢您的帮助!
代码:
<ng-template let-internship="rowData" pTemplate="body" *ngIf="favorite?.FavoritesIds.indexOf(internship?.InternshipId) === -1;"><!--TODO BRIAN ngif-->
<a class="btn btn-default" [routerLink]="['/student/stageopdrachten', internship.InternshipId, false]"><!--Not shown TODO-->
<i class="glyphicon"></i>Meer
</a>
</ng-template>
<ng-template let-internship="rowData" pTemplate="body" *ngIf="favorite?.FavoritesIds.indexOf(internship?.InternshipId) !== -1;"><!--TODO BRIAN ngif-->
<a class="btn btn-default" [routerLink]="['/student/stageopdrachten', internship.InternshipId, true]"><!--always shown-->
<i class="glyphicon"></i>Meer{{favorite?.FavoritesIds.indexOf(internship?.InternshipId)}}
</a>
</ng-template>
【问题讨论】:
-
Plunker 会很有帮助
-
可能是类型大小写,您应该将 === 和 !== 替换为 == 和 != ?
-
将其更改为 == 和 != 可悲的是@mankers 没有做任何事情
-
我很乐意,但我以前从未使用过 plunker,但你可以看到变量。 FavoritesIds 是一个数字数组。@yurzui
标签: html angular loops if-statement angular-ng-if