[angular] 가상 스크롤 최적화

가상 스크롤은 대규모 데이터를 효율적으로 처리하고 성능을 향상시키는 데 유용한 기술입니다. 즉, 사용자가 스크롤할 때 현재 화면에 보이는 요소만 렌더링하여 메모리와 성능을 절약할 수 있습니다. 이 기술은 Angular 프레임워크에서도 사용할 수 있으며, 이를 통해 대규모 데이터를 다루는 애플리케이션의 성능을 향상시킬 수 있습니다.

가상 스크롤의 이점

가상 스크롤을 구현하면 다음과 같은 이점을 얻을 수 있습니다:

Angular에서 가상 스크롤 구현하기

가상 스크롤을 구현하기 위해 먼저 @angular/cdk 패키지를 설치해야 합니다. 이 패키지는 Angular Material 라이브러리와 함께 제공되며, 가상 스크롤을 구현하는 데 필요한 기능을 제공합니다.

npm install @angular/cdk

다음으로, CDKVirtualScrollViewport 디렉티브를 사용하여 리스트 컴포넌트에 가상 스크롤을 적용할 수 있습니다.


import { Component } from '@angular/core';
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';

@Component({
  selector: 'app-virtual-scroll',
  template: `
    <cdk-virtual-scroll-viewport itemSize="50" class="example-viewport">
      <div *cdkVirtualFor="let item of items" class="example-item">{{item}}</div>
    </cdk-virtual-scroll-viewport>
  `,
  styleUrls: ['virtual-scroll.component.css'],
})
export class VirtualScrollComponent {
  items = Array.from({length: 100000}).map((_, i) => `Item #${i}`);
}

이렇게 하면 CDKVirtualScrollViewport를 사용하여 대량의 아이템을 가진 리스트를 효율적으로 렌더링할 수 있습니다.

결론

가상 스크롤은 Angular 애플리케이션에서 대규모 데이터를 다룰 때 성능을 향상시키는 효과적인 방법입니다. @angular/cdk를 사용하여 간단히 가상 스크롤을 구현할 수 있으며, 이를 통해 사용자 경험과 성능을 개선할 수 있습니다.

더 자세한 내용은 Angular Material 가이드와 공식 문서를 참고하시기 바랍니다.

Angular Material 가이드 Angular CDK 공식 문서


Angular, 가상 스크롤