A directive for Angular providing unlimited bidirectional virtual scrolling over a limited viewport.
ngx-ui-scroll is a virtual/infinite scrolling library for Angular applications. It addresses performance issues when rendering large datasets by dynamically fetching and rendering only the visible portion of data, similar to *ngFor but with virtualization. This enables smooth, high-performance scrolling experiences for extensive lists.
Angular developers building applications that need to display large, scrollable datasets without performance degradation, such as data grids, chat histories, or long feeds.
Developers choose ngx-ui-scroll for its bidirectional scrolling, flexible data fetching (callback, Promise, Observable), and extensive runtime control via the Adapter API, built on a stable core virtual scrolling engine (vscroll).
Virtual/infinite scroll for Angular
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports unlimited scrolling in both directions over a limited viewport, enabling smooth performance for large datasets as highlighted in the features and motivation sections.
Accepts callback, Promise, and Observable-based datasources, allowing easy integration with remote APIs or custom data logic, demonstrated in the usage examples with HTTP calls.
The Adapter API provides extensive methods for manipulating the scroll buffer, such as reload, insert, remove, and update, detailed in the Adapter API section with practical demos.
Includes infinite mode, horizontal scrolling, and window-as-viewport options, offering versatility for different UI requirements, as shown in the settings and linked demos.
Developers must implement the Datasource.get method themselves, which can be error-prone for handling edge cases like empty arrays or dynamic boundaries, adding initial development overhead.
With numerous settings and a detailed Adapter API, understanding and tuning parameters like bufferSize and padding requires significant effort, as evidenced by the extensive documentation and version compatibility notes.
Requires installing both ngx-ui-scroll and its core vscroll library, and version compatibility varies with Angular versions (e.g., v4 for Angular 17+), leading to potential setup and maintenance challenges.