angular2使用elvis操作符在ngfor中

时间:2017-10-06 19:29:31

标签: angular typescript

我有一个用于迭代列表的ngFor。 现在我的要求是在一个条件上进行延迟,循环应该迭代两个不同的列表。如下所示。

<div *ngFor="let student of students">

这是现有的代码。

 <div *ngFor="let student of (showAll=true)?students:studentsDetailList">

如何实现这样的目标?

2 个答案:

答案 0 :(得分:2)

<div *ngFor = let student of (showAll?students:studentsDetailList)>

这种语法工作正常

答案 1 :(得分:1)

考虑将其放在组件类中,而不是放在模板中。

所以创建一个属性:

 boundList: students[];

在代码中某处(ngOnInit可能?)设置得恰当。

  if (this.showAll) {
     this.boundList = this.students;
  } else {
     this.boundList = this.studentsDetailList;
  }

或(在一行中)

this.boundList = this.showAll ? this.students : this.studentsDetailList;