Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are differences and use cases for Virtual VS Infinite scroll in Ionic 3

I've gone through Ionic 3 docs and I was trying to understand the difference between

https://ionicframework.com/docs/api/components/virtual-scroll/VirtualScroll/

and

https://ionicframework.com/docs/api/components/infinite-scroll/InfiniteScroll/

I see they use different components and while they show an example of InfiniteScroll there is no example of VirtualScroll and it's set up also looks trickier.

What is difference between the two and what are possible use cases when to use one or the other?

like image 225
dragonmnl Avatar asked Oct 13 '17 15:10

dragonmnl


People also ask

What is the purpose of infinite scroll?

Infinite scrolling is a listing-page design approach which loads content continuously as the user scrolls down. It eliminates the need for pagination — breaking content up into multiple pages.

When should I use virtual scroll?

Virtual scrolling is widely used in large data grids that have hundreds of thousands or millions of rows and tens or hundreds of columns. In a virtual scrolling strategy, the total number of elements remains the same as the user scrolls, just that the current ones are replaced with the next ones.

Does infinite scroll improve performance?

Above all else, infinite scroll is designed to boost user engagement and keep viewers on the page for as long as possible. If visitors have no particular goal in mind, infinite scrolling will continue to roll out relevant content in a way that is efficient, digestible, and interruption-free.

What is virtual scroll in ionic?

Virtual Scroll displays a virtual, "infinite" list. An array of records is passed to the virtual scroll containing the data to create templates for. The template created for each record, referred to as a cell, can consist of items, headers, and footers.


1 Answers

Virtual Scroll

  • We only create enough elements in the DOM to display the list data that is currently on screen, and we recycle those DOM elements to display new data as they scroll off the screen.
  • This is done to improve performance when dealing with long lists.
  • Example: you select 500 records to be displayed in a list, But Virtual Scroll will only insert a percentage of them into the DOM at a time which makes scrolling more fluid.

This diagram should help explain the concept: (by courtesy of josh article below)

enter image description here

Here you can see the example of Virtual Scroll

Infinite Scroll

  • When you fetch a set number of records and insert them into a list, once you reach the bottom it'll fetch the next batch and insert them into the list and repeat that as long as you have items to fetch.
  • Here you have more Instance Members than the Virtual Scroll. That means you have more control of this component.

Here is an example of Infinite Scroll

Refernces: Link 1 and Link 2

like image 83
Sampath Avatar answered Sep 30 '22 06:09

Sampath