如何在* ngfor中使用表达式?

时间:2017-07-19 08:29:47

标签: angular

我有一个迭代数组,我必须根据选择进行排序,我已经使用表达式将sortby绑定到ngModel,但似乎有一些模板解析错误,实现相同的正确方法是什么?

app.html

<ion-item>
  <ion-label>Sort By</ion-label>
  <ion-select [(ngModel)]="sort">
    <ion-option value="name">Name</ion-option>
    <ion-option value="stall">Stall Number</ion-option>
    <ion-option value="plan">Plan</ion-option>
  </ion-select>
</ion-item>

<ion-item item-detail *ngFor="let exhibit of exhibits | sortBy :'{{sort}}';  
let i = index" name="exhibit">
  <h2>{{ exhibit.name }}</h2>
  <h5>{{ exhibit.plan }}</h5>
  <h5>{{ exhibit.link }}</h5>
  <h5>{{ exhibit.stall }}</h5>
  <h5>{{ exhibit.description }}</h5>
</ion-item>

1 个答案:

答案 0 :(得分:2)

您不需要{{}}(导致语法错误)和''(导致静态字符串排序)。

如果变量sort来自组件,您可以直接在ngFor表达式使用它,如下所示:

<ion-item item-detail *ngFor="let exhibit of exhibits | sortBy:sort; let i = index" name="exhibit">
  ...
</ion-item>``