* ng在angular2中运行无限循环

时间:2016-06-17 08:20:26

标签: typescript angular ngfor

我试图使用下面的代码使用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 ---普山)

只显示一次,但在控制台上运行无限,如下所示:

Snapshot of the console

我想每次迭代只调用一次这个方法。

任何输入?

1 个答案:

答案 0 :(得分:18)

这只是在每个更改检测周期中反复调用loadProperty(i,element)的Angular2更改检测。

不鼓励从模板调用方法,因为它们经常被调用。您应该将结果存储在属性中,而是绑定到此属性。