我试图使用下面的代码使用angular2中的键来渲染对象属性:
<ul>
<li *ngFor="let element of componentModel | keys;let i=index">
{{element.key}}--{{element.value}} // 1---Bhushan...loaded only once
<span *ngIf="element">{{ loadProperty(i,element) }}</span>
</li>
</ul>
但我在这里面临一个问题。浏览器中的输出只加载一次。
但是方法调用ie loadProperty(i,element)
正在无限循环中运行。
loadProperty(i:number,element:any){
console.log(element.key+'========'+element.value);
console.log(element);
}
表示浏览器输出
(1 ---普山)
只显示一次,但在控制台上运行无限,如下所示:
我想每次迭代只调用一次这个方法。
任何输入?
答案 0 :(得分:18)
这只是在每个更改检测周期中反复调用loadProperty(i,element)
的Angular2更改检测。
不鼓励从模板调用方法,因为它们经常被调用。您应该将结果存储在属性中,而是绑定到此属性。