Angular-JS ng-repeat Directive
Last Updated :
09 Aug, 2019
Improve
Angular-JS ng-repeat directive is a handy tool to repeat a set of HTML code for a number of times or once per item in a collection of items. ng-repeat is mostly used on arrays and objects.
ng-repeat is similar to a loop that we have in C, C++ or other languages but technically it instantiates a template(normally a set of HTML structures) for each element in a collection that we are accessing. Angular maintains a $index variable as a key to the element which is currently being accessed and a user can also access this variable.
Syntax :
<div ng-repeat="keyName in MyObjectName "> {{keyName}} </div>Here "MyObjectName" is a collection that can be an object or an array and you can access each value inside it using a "keyName". Example 1
- Create an app.js file for the app.
javascript var app = angular.module('myApp',[]); app.controller('MainCtrl', function($scope){ $scope.names = ['Adam','Steve','George','James','Armin']; console.log($scope.names); });
-
Create index.html page
html <!DOCTYPE html> <html ng-app="myApp"> <head> <title>Angular ng-repeat</title> <script> type="text/javascript" src="jquery-3.2.1.min.js"> </script> <script> type="text/javascript" src="angular.js"></script> <script> type="text/javascript" src="app.js"></script> </head> <body ng-controller="MainCtrl"> <h2>Here is the name list</h2> <ul> <li ng-repeat="name in names"> {{name}} </li> </ul> </body> </html>
-
Output :
- Example 2
- app.js file
javascript var app = angular.module('myApp',[]); app.controller('MainCtrl', function($scope){ $scope.strings= ['Geeks','For','Geeks']; console.log($scope.strings); });
- We have a list of three strings.
index.html
html <!DOCTYPE html> <html ng-app="myApp"> <head> <title>Angular ng-repeat</title> <script> type="text/javascript" src="jquery-3.2.1.min.js"> </script> <script> type="text/javascript" src="angular.js"></script> <script> type="text/javascript" src="app.js"></script> </head> <body ng-controller="MainCtrl"> <h2>Here is the string list</h2> <ul> <li ng-repeat="s in strings> {{name}} </li> </ul> </body> </html>
-
Output :
- ng-repeat can be used to iterate through an array which requires less lines of code than the usual javascript method.
- Filters can be used with ng-repeat to create an easy to implement search bar.
- https://angularjs.org/
- https://docs.angularjs.org/api/ng/directive/ngRepeat
- https://docs.angularjs.org/error/ngRepeat/dupes