# 개요
slider 사용시, 성능이 급격하게 나빠지는 현상 발생
# 해결책
onSlideChanged 이벤트 발생시, 꼭 필요한 경우에만 호출하도록 조치한다.
import { Component, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
@Component({
selector: 'page-my',
templateUrl: 'my-page.html',
changeDetection: ChangeDetectionStrategy.OnPush
})
export class MyPage implements OnInit {
slides: number[] = [];
methodCounter: number = 0;
ngOnInit() {
let numberOfSlides = 100;
for (var i = 0; i < numberOfSlides; i++) {
this.slides[i] = i;
}
}
public slideChanged(): void {
console.log('slide changed');
this.cd.markForCheck();
}
public myMethod(): string {
console.log('myMethod called ' + this.methodCounter++);
return 'foo';
}
}
<ion-content>
<ion-slides (ionSlideDidChange)="slideChanged()"> <ion-slide *ngFor="let slide of slides"> <div> {{slide}} - {{myMethod()}} </div> </ion-slide> </ion-slides> </ion-content>
myMethod() is only called upon initialization or when you explicitly tell so.
# 출처
'[DEV] App Dev ∕ Mobile > Framework ∕ Ionic' 카테고리의 다른 글
[Ionic 5] Main Color 색상 정의하기 (0) | 2020.08.13 |
---|---|
[Ionic 5] Ionic Infinite Slide (0) | 2020.08.13 |
Ionic 기본 - 투명 아이콘 버튼 (0) | 2020.08.12 |
Ionic Drag & Drop 적용하기(dragula 라이브러리) (0) | 2020.08.09 |
[Ionic 5] Segment & Slider 연동하기 (0) | 2020.08.07 |
최근댓글