পৃষ্ঠাসমূহ

Search Your Article

CS

 

Welcome to GoogleDG – your one-stop destination for free learning resources, guides, and digital tools.

At GoogleDG, we believe that knowledge should be accessible to everyone. Our mission is to provide readers with valuable ebooks, tutorials, and tech-related content that makes learning easier, faster, and more enjoyable.

What We Offer:

  • 📘 Free & Helpful Ebooks – covering education, technology, self-development, and more.

  • 💻 Step-by-Step Tutorials – practical guides on digital tools, apps, and software.

  • 🌐 Tech Updates & Tips – simplified information to keep you informed in the fast-changing digital world.

  • 🎯 Learning Support – resources designed to support students, professionals, and lifelong learners.

    Latest world News 

     

Our Vision

To create a digital knowledge hub where anyone, from beginners to advanced learners, can find trustworthy resources and grow their skills.

Why Choose Us?

✔ Simple explanations of complex topics
✔ 100% free access to resources
✔ Regularly updated content
✔ A community that values knowledge sharing

We are continuously working to expand our content library and provide readers with the most useful and relevant digital learning materials.

📩 If you’d like to connect, share feedback, or suggest topics, feel free to reach us through the Contact page.

Pageviews

Thursday, February 9, 2017

Angular Material - Virtual Repeat

md-virtual-repeat-container

md-virtual-repeat-container is the scroll container for the md-virtual-repeat component.

Attributes - md-virtual-repeat-container

S.N.Parameter & Description
1md-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.
2md-orient-horizontal
Whether the container should scroll horizontally (defaults to orientation and scrolling vertically).
3md-auto-shrink
When present, the container will shrink to fit the number of items when that number is less than its original size.
4md-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 - md-virtual-repeat

S.N.Parameter & Description
1md-item-size
The height or width of the repeated elements (which must be identical for each element). Optional. Will attempt to read the size from the dom if missing, but still assumes that all repeated nodes have same height or width.
2md-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).
3md-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 showcases the use of virtual repeat.
am_virtualrepeat.htm
<html lang="en" >
   <head>
      <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.css">
      <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
      <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-animate.min.js"></script>
      <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-aria.min.js"></script>
      <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-messages.min.js"></script>
      <script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.js"></script>
      <link 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 solid #ddd;
            box-sizing: border-box;
            display: inline-block;
            height: 84px;
            padding-top: 35px;
            text-align: center;
            width: 50px; 
         }

         .vrepeatContainer .repeated-item-vertical {
            border-bottom: 1px solid #ddd;
            box-sizing: border-box;
            height: 40px;
            padding-top: 10px;
         }

         .vrepeatContainer md-content {
            margin: 16px; 
         }
         .vrepeatContainer md-virtual-repeat-container {
            border: solid 1px grey; 
         }   
   </style>
      <script language="javascript">
         angular
            .module('firstApplication', ['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="firstApplication"> 
      <div 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>
               <div md-virtual-repeat="item in ctrl.items"
                  class="repeated-item-horizontal" flex>
                  {{item}}
               </div>
            </md-virtual-repeat-container>
            <h2>Vertical Repeat</h2>
            <md-virtual-repeat-container id="vertical-container">
                <div md-virtual-repeat="item in ctrl.items"
                  class="repeated-item-vertical" flex>
                  {{item}}
               </div>
            </md-virtual-repeat-container>
         </md-content>
      </div>
   </body>
</html>

Result

Verify the result.

No comments:

Post a Comment