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



我有一个实用程序方法,该方法在 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#语法,但很高兴知道它是否可能。

请注意,确定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>

最新更新