我有一个实用程序方法,该方法在 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>