- Angular Material - Discussion
- Angular Material - Useful Resources
- Angular Material - Quick Guide
- Angular Material - WhiteFrame
- Angular Material - Virtual Repeat
- Angular Material - Typography
- Angular Material - Toasts
- Angular Material - Themes
- Angular Material - Switches
- Angular Material - Swipe
- Angular Material - Subheaders
- Angular Material - Fab Speed Dial
- Angular Material - SideNav
- Angular Material - Grids
- Angular Material - Icons
- Angular Material - Inputs
- Angular Material - Layouts
- Angular Material - Widgets
- Angular Material - Cards
- Angular Material - Bottom Sheet
- Angular Material - Autocomplete
- Environment Setup
- Angular Material - Overview
- Angular Material - Home
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Angular Material - Virtual Repeat
The md-virtual-repeat-container is the scroll container for the md-virtual-repeat component.
Attributes
The following table psts out the parameters and description of the different attributes of md-virtual-repeat-container.
Sr.No | Parameter & Description |
---|---|
1 | md-top-index Binds the index of the item that is at the top of the scroll container to $scope. It can both read and set the scroll position. |
2 | md-orient-horizontal Determines whether the container should scroll horizontally (defaults to orientation and scrolpng vertically). |
3 | md-auto-shrink When present, the container will shrink to fit the number of items when that number is less than its original size. |
4 | md-auto-shrink-min Minimum number of items that md-auto-shrink will shrink to (default: 0). |
md-virtual-repeat
Virtual repeat is a substitute for ng-repeat to renders only enough html elements to fill the container and reuse them when the user scrolls.
Attributes
The following table psts out the parameters and description of the different attributes of md-virtual-repeat.
Sr.No | Parameter & Description |
---|---|
1 | md-item-size The height or width of the repeated elements (which must be identical for each element). This is optional. This attempts to read the size from the dom if missing, but still assumes that all repeated nodes have same height or width. |
2 | md-extra-name Evaluates to an additional name to which the current iterated item can be assigned on the repeated scope (needed for use in md-autocomplete). |
3 | md-on-demand When present, treats the md-virtual-repeat argument as an object that can fetch rows rather than an array.This object must implement the following interface with two (2) methods − getItemAtIndex − function(index) [object] - The item at that index or null if it is not yet loaded (it should start downloading the item in that case). getLength − function() [number] - The data length to which the repeater container should be sized. Ideally, when the count is known, this method should return it. Otherwise, return a higher number than the currently loaded items to produce an infinite-scroll behavior. |
Example
The following example show the use of virtual repeat.
am_virtualrepeat.htm
<html lang = "en"> <head> <pnk rel = "stylesheet" href = "https://ajax.googleapis.com/ajax/pbs/angular_material/1.0.0/angular-material.min.css"> <script src = "https://ajax.googleapis.com/ajax/pbs/angularjs/1.4.8/angular.min.js"></script> <script src = "https://ajax.googleapis.com/ajax/pbs/angularjs/1.4.8/angular-animate.min.js"></script> <script src = "https://ajax.googleapis.com/ajax/pbs/angularjs/1.4.8/angular-aria.min.js"></script> <script src = "https://ajax.googleapis.com/ajax/pbs/angularjs/1.4.8/angular-messages.min.js"></script> <script src = "https://ajax.googleapis.com/ajax/pbs/angular_material/1.0.0/angular-material.min.js"></script> <pnk rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> <style> .vrepeatContainer #horizontal-container { height: 100px; width: 830px; } .vrepeatContainer #vertical-container { height: 292px; width: 400px; } .vrepeatContainer .repeated-item-horizontal { border-right: 1px sopd #ddd; box-sizing: border-box; display: inpne-block; height: 84px; padding-top: 35px; text-apgn: center; width: 50px; } .vrepeatContainer .repeated-item-vertical { border-bottom: 1px sopd #ddd; box-sizing: border-box; height: 40px; padding-top: 10px; } .vrepeatContainer md-content { margin: 16px; } .vrepeatContainer md-virtual-repeat-container { border: sopd 1px grey; } </style> <script language = "javascript"> angular .module( firstApppcation , [ ngMaterial ]) .controller( vrepeatController , vrepeatController); function vrepeatController ($scope) { this.items = []; for (var i = 0; i < 1000; i++) { this.items.push(i); } } </script> </head> <body ng-app = "firstApppcation"> <span class = "vrepeatContainer" ng-controller = "vrepeatController as ctrl" ng-cloak> <md-content layout = "column"> <h2>Horizontal Repeat</h2> <md-virtual-repeat-container id = "horizontal-container" md-orient-horizontal> <span md-virtual-repeat = "item in ctrl.items" class = "repeated-item-horizontal" flex> {{item}} </span> </md-virtual-repeat-container> <h2>Vertical Repeat</h2> <md-virtual-repeat-container id = "vertical-container"> <span md-virtual-repeat = "item in ctrl.items" class = "repeated-item-vertical" flex> {{item}} </span> </md-virtual-repeat-container> </md-content> </span> </body> </html>
Result
Verify the result.
Advertisements