Diretiva AngularJS ng-repeat com exemplo

Diretiva ng-repeat em AngularJS

O ng-repetir A diretiva em AngularJS é usada para exibir valores repetidos definidos no controlador. Às vezes, precisamos exibir uma lista de itens na visualização. A diretiva ng-repeat nos ajuda a exibir uma lista de itens definidos no controlador em uma página de visualização.

Exemplo de diretiva AngularJS ng-repeat

Vejamos um exemplo de diretiva ng-repeat em AngularJS:

Diretiva ng-repeat em AngularJS

<!DOCTYPE html>
<html>
<head>
	<meta chrset="UTF 8">
	<title>Event Registration</title>
	<link rel="stylesheet" href="css/bootstrap.css"/>
</head>
<body >
<h1> Guru99 Global Event</h1>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>

<div ng-app="DemoApp" ng-controller="DemoController">
<h1>Topics</h1>
<ul><li ng-repeat="tpname in TopicNames">
		{{tpname.name}}
		</li></ul>
</div>

<script> 
	var app = angular.module('DemoApp',[]);
	app.controller('DemoController', function($scope){

	$scope.TopicNames =[
		{name: "What controller do from Angular's perspective"},
		{name: "Controller Methods"},
		{name: "Building a basic controller"}];	
		});
</script>

</body>
</html>

Explicação do código:

  1. No controlador, primeiro definimos nosso array de itens de lista que queremos definir na visualização. Aqui definimos um array chamado “TopicNames” que contém três itens. Cada item consiste em um par nome-valor.
  2. A matriz de TopicsNames é então adicionada a uma variável de membro chamada “tópicos” e anexada ao nosso objeto de escopo.
  3. Estamos usando as tags HTML de (Lista não ordenada) e (List Item) para exibir a lista de itens em nosso array. Em seguida, usamos a diretiva ng-repeat para passar por cada item do nosso array. A palavra “tpname” é uma variável usada para apontar para cada item na matriz topics.TopicNames.
  4. Neste, exibiremos o valor de cada item do array.

Se o código for executado com sucesso, a seguinte saída será mostrada quando você executar o código no navegador. Você verá todos os itens da matriz (basicamente os TopicNames nos tópicos) exibidos.

Saída:

Diretiva ng-repeat em AngularJS

Vários controladores AngularJS

Um exemplo de controlador avançado seria o conceito de ter vários controladores em um aplicativo JS angular.

Talvez você queira definir vários controladores para separar diferentes funções de lógica de negócios. Mencionamos anteriormente sobre a existência de métodos diferentes em um controlador, nos quais um método tinha funcionalidade separada para adição e subtração de números. Bem, você pode ter vários controladores para ter uma separação de lógica mais avançada. Por exemplo, você pode ter um controlador que faz apenas operações com números e outro que faz operações com strings.

Vejamos um exemplo de como podemos definir vários controladores em um aplicativo angular.JS.

Vários controladores AngularJS

<!DOCTYPE html>
<html>
<head>
	<meta chrset="UTF 8">
	<title>Event Registration</title>
	<link rel="stylesheet" href="css/bootstrap.css"/>
</head>
<body >
<h1> Guru99 Global Event</h1>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>

<div ng-app="DemoApp">
	<div ng-controller="firstcontroller">
		<div ng-controller="secondcontroller">
		{{lname}}
		</div>
	</div>
</div>

<script>
	var app = angular.module('DemoApp',[]);
	app.controller('firstcontroller', function($scope){
		$scope.pname="firstcontroller";
			});
		app.controller('secondcontroller', function($scope){
			$scope.lname="secondcontroller";
			});
</script>
</body>
</html>

Explicação do código:

  1. Aqui estamos definindo 2 controladores chamados “firstController” e “secondController”. Para cada controlador também adicionamos algum código para processamento. Em nosso firstController, anexamos uma variável chamada “pname” que tem o valor “firstController”, e no secondController anexamos uma variável chamada “lname” que tem o valor “secondController”.
  2. Na visualização, estamos acessando ambos os controladores e usando a variável membro do segundo controlador.

Se o código for executado com sucesso, a seguinte saída será mostrada quando você executar o código no navegador. Você verá todo o texto de “secondController” conforme esperado.

Saída:

Vários controladores AngularJS

Resumo

  • A diretiva ng-repeat em AngularJS é usado para exibir vários itens repetidos.
  • Também demos uma olhada em um controlador avançado que analisa a definição de vários controladores em um aplicativo.