* ngFor中局部变量的Angular2 +模板语法

时间:2017-11-08 11:06:15

标签: angular local-variables ngfor angular-template

我有一个实用程序方法,在Ionic 3应用程序的* ngFor循环的每次迭代中调用两次(在封面下使用Angular4)。 (类似于下面的getIndex2)。

有没有办法分配局部变量和引用,因此每次迭代都不会调用两次实用程序方法?

某种形式:

<div *ngfor="let item of items;
             let i = index; 
             let j = getIndex2(items[i]); 
             let k = items[j]">
  {{k.property1}}
  {{k.property2}}
</div>

它也可以使用as#语法,但知道它是否可能会很好。

1 个答案:

答案 0 :(得分:0)

请注意确定getIndex2()的作用,但如果您只想引用当前项目,则需要执行以下操作:

<div *ngfor="let item of items">
   {{ item.property1 }}
   {{ item.property2 }}
</div>

但我认为情况并非如此。您需要做的是在模板标记之外处理该逻辑。例如:

this.items = this.items.map((item) => item.otherItem = this.getIndex2(item));

然后:

<div *ngfor="let item of items">
   {{ item.otherItem.property1 }}
   {{ item.otherItem.property2 }}
</div>