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