2017-10-18 1 views
1

div에 ngIf를 넣으려고 시도하고 요소에 ngFor를 넣으려고합니다. 내 HTML 구성 요소에서이 있습니다 : 나는 이유를 이해 해달라고ng 내부에 무한 루프가있는 경우

matching(valor) : boolean { 
     var resultado : boolean = true; 
     if(valor.toString.match(this.filtertext) == null){ 
      resultado = false; 
     } 
     return resultado; 
    } 

하지만 ngIf이 기능을 항상 호출

<td id="fila{{registro.id}}" *ngFor="let campo of cabeceras"> 
    <div *ngIf="matching(registro[campo])">{{registro[campo]}}</div> 
</td> 

또한, 내 component.ts의 일치() 함수는 .

감사합니다.

+0

@Sajeetharan하지만하지 n 번을 만들어에

는, 그것의 단지 무한한를 사전에 결과의 배열을 생성하고 인덱스를 소개

matching(registro[campo]) 

대신이 배열에 바인딩! –

+0

cabeceras, registro 및 filtertext의 예제 데이터를 제공 할 수 있습니까? – Chandru

답변

0

각도는 다른 변경 감지주기를 실행할 때마다 모든 바인딩을 평가합니다.

결과를 필드에 할당하고 함수에 바인딩하는 대신 해당 필드에 바인딩하는 것이 좋습니다. ngFor이

쉽게
*ngFor="let campo of cabeceras; let i=idx" 
관련 문제