【发布时间】:2017-05-27 12:29:43
【问题描述】:
我的模板中有 9 个<li> 元素,每个元素都有一个 *ngIf 条件。
其中 5 个可能返回 true 或更多或更少,但如果是这种情况,我只想显示前 4 个或更少。
<li>的顺序优先
我试过了:
// Template
<li *ngIf="checkCond(profile.Projects.length != 0)">Example</li>
... and so on...
// Component
shown: number = 0;
public checkCond(value: boolean): boolean {
if (value) {
this.shown += 1;
return this.shown <= 4;
}
else return false;
}
我的方法的问题是if (value) 会持续触发,并且会像我预期的那样增加超过 9,因此最终它只会返回 false;
我不想使用 *ngFor
【问题讨论】:
-
“我不想使用 *ngFor”..为什么?
-
@PetrAdam 逻辑不允许我,我有覆盖、翻译和其他东西
-
如果我理解您的问题,您需要显示不超过 4 个元素,但可能不是全部 4 个,同时您需要确定该元素是否可见?
-
@mautrok 完全正确 :)
-
您还可以创建一个自定义管道,将数组限制为 4 个项目
标签: javascript angular typescript