0
Ionic 3 앱 (Angular4를 사용)의 * ngFor 루프 반복마다 두 번 호출되는 유틸리티 메소드가 있습니다. (아래 getIndex와 비슷한).내부 변수에 대한 Angular2 + 템플릿 구문 * ngFor
로컬 변수와 참조를 할당하는 방법이 있습니까? 따라서 유틸리티 메소드가 반복마다 두 번 호출되지 않습니까? 형태의
뭔가 :
<div *ngfor="let item of items;
let i = index;
let j = getIndex2(items[i]);
let k = items[j]">
{{k.property1}}
{{k.property2}}
</div>
너무 as
, 또는 #
구문을 사용할 수 있지만 가능하다면 알고 좋을 것이다.
. 유틸리티 메소드에 대한 호출은 다시 계산할 필요가 없습니다. – JGFMK
코드를 리팩토링해야합니다. 유효하지 않습니다. '* ngFor'- 지시어는 index, first, last, even의 4 가지 변수를 취합니다. 그게 전부 야. 당신이해야 할 일은 당신의 논리를 컴포넌트 클래스 (또는 서비스)에 넣는 것입니다. – unitario
루프 안에 메서드 호출의 결과를 저장하는 방법이 있어야합니다. 그래서 두 번 이상 필요로 할 때 한 번만 호출됩니다 ... 그래서 계산은 한 번 발생합니다. 일종의 게으른 로딩 캐싱 utllity 메소드는 다른 대안이 될 수 있습니다.하지만 stateful 코드를 작성하는 것은 다소 피할 수 있습니다. – JGFMK