나는이 같은 것을 보면 내 모든 각도 응용 프로그램 전체 기간이 있습니다변경 감지 함수를 호출 너무 많이
{{ stringAsDate(entry.followUpDate) | date:"yMdjm" }}
stringAsDate 기능이 보이는을 같은 :
stringAsDate(dateStr: any) {
if(dateStr != null){
return new Date(moment(dateStr).seconds(0).milliseconds(0).toISOString());
}
}
stringAsDate() 함수는 모든 브라우저에서 같은 날짜를 가져야합니다. (다른 브라우저에서는 새 Date()를 다르게 평가하기 때문에 불일치가 발생했습니다.) 어쨌든이 방법이 효과적입니다. 그러나 stringAsDate()는 모든 변경 감지 (모든 클릭 등)를 호출하므로 응용 프로그램의 성능이 정말 좋지 않습니다.
stringAsDate()가 여러 번 호출되는 것을 피할 수있는 방법이 있습니까? Angular4에서
템플릿과 같은 함수를 호출하지 않는 것이 좋습니다. 이 변수를 템플릿에 전달하기 전에 구성 요소에서이 작업을 수행하거나 순수한 '파이프'를 만들 수 있습니다. Btw, 이것은'* ngFor' 안에 있습니까? – developer033
[OnPush] (https://angular-2-training-book.rangle.io/handout/change-detection/change_detection_strategy_onpush.html) 변경 감지 전략을 살펴 보았습니까? 그것은 성능을 향상 시키기로되어 있지만 조심스럽게 구현해야합니다. 약간 위험한 영역입니다. OnPush 전략을 사용하면 변경 감지가 실행되는시기와 위치, 변경 사항을 확인해야하는 구성 요소에 대한 권한을 부여 할 수 있습니다. – Andresson