반응형
Scroll을 맨 아래까지 이동했을 경우 자동으로 데이터가 로딩되도록 하는 방법입니다.
Ionic4에서 ion-infinite-scroll 태그를 제공하지만 원하는대로 동작하지 않는 경우가 있어서 직접 구현했습니다.
1. Scroll Event를 받아 처리하는 코드를 작성합니다.
private scrollDepthTriggered = false;
async scrollingToBottom($event: any) {
if (this.scrollDepthTriggered) {
return;
}
if ($event.target.localName != "ion-content") {
return;
}
const scrollElement = await $event.target.getScrollElement();
const scrollHeight = scrollElement.scrollHeight - scrollElement.clientHeight;
const currentScrollDepth = $event.detail.scrollTop;
const targetPercent = 90;
let triggerDepth = ((scrollHeight / 100) * targetPercent);
if (currentScrollDepth > triggerDepth && !this.loadingDone) {
this.scrollDepthTriggered = true;
await this.moreLoadingData(); //추가 로딩하는 함수 호출
this.scrollDepthTriggered = false;
}
}
2. html 영역에 Scroll Event 시 호출할 함수를 정의합니다.
<ion-content [scrollEvents] = "true" (ionScroll) = "scrollingToBottom($event)" >
...
</ion-content>
반응형
'프로그래밍 & IT 정보 > Etc.' 카테고리의 다른 글
React Redux 효율적인 공부 방법 (0) | 2022.02.27 |
---|---|
리액트(React) 완성도 높은 초보 온라인 무료 강의 추천 (0) | 2022.02.24 |
인공지능, 머신러닝, 딥러닝 다 같은 말 아닌가요? 간단한 개념 설명 (1) | 2022.01.17 |
[SVG] animateTransform 2가지 동시 적용 (0) | 2020.07.04 |
[Ionic4] ion-select customizing(커스터마이징) 방법 (0) | 2020.07.04 |
[Ionic4] Android MainActivity.java 변경 필요 시 적용 방법 (0) | 2020.07.03 |
[Firebase/Angular] Cloud Firestore Pagination Query Example (0) | 2020.07.03 |
[Firebase/Angular] Cloud Firestore Transaction Example (0) | 2020.07.03 |
댓글