Dyrektywa AngularJS ng-repeat z przykładem

Dyrektywa ng-repeat w AngularJS

ng-powtórz dyrektywa w AngularJS służy do wyświetlania powtarzających się wartości zdefiniowanych w kontrolerze. Czasami wymagamy wyświetlenia listy elementów w widoku. Dyrektywa ng-repeat pomaga nam wyświetlić na stronie widoku listę elementów zdefiniowanych w kontrolerze.

Przykład dyrektywy AngularJS ng-repeat

Spójrzmy na przykład dyrektywy ng-repeat w AngularJS:

Dyrektywa ng-repeat w 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>

Wyjaśnienie kodu:

  1. W kontrolerze najpierw definiujemy tablicę elementów listy, które chcemy zdefiniować w widoku. Tutaj zdefiniowaliśmy tablicę o nazwie „TopicNames”, która zawiera trzy elementy. Każdy element składa się z pary nazwa-wartość.
  2. Tablica TopicsNames jest następnie dodawana do zmiennej składowej zwanej „tematy” i dołączana do naszego obiektu zakresu.
  3. Używamy tagów HTML (Lista nieuporządkowana) i (List Item), aby wyświetlić listę elementów w naszej tablicy. Następnie używamy dyrektywy ng-repeat do przeglądania każdego elementu naszej tablicy. Słowo „tpname” jest zmienną używaną do wskazania każdego elementu w tablicy topics.TopicNames.
  4. W tym przypadku wyświetlimy wartość każdego elementu tablicy.

Jeśli kod zostanie wykonany pomyślnie, po uruchomieniu kodu w przeglądarce zostanie wyświetlony następujący Output. Zobaczysz wszystkie elementy tablicy (zasadniczo TopicNames w tematach).

Wyjście:

Dyrektywa ng-repeat w AngularJS

AngularJS Wiele kontrolerów

Przykładem zaawansowanego kontrolera może być koncepcja posiadania wielu kontrolerów w angularnej aplikacji JS.

Możesz chcieć zdefiniować wiele kontrolerów, aby oddzielić różne funkcje logiki biznesowej. Wcześniej wspomnieliśmy o posiadaniu różnych metod w kontrolerze, w którym jedna metoda miała osobną funkcjonalność dodawania i odejmowania liczb. Cóż, możesz mieć wiele kontrolerów, aby mieć bardziej zaawansowane oddzielenie logiki. Na przykład możesz mieć jeden kontroler, który wykonuje tylko operacje na liczbach, a drugi, który wykonuje operacje na ciągach znaków.

Spójrzmy na przykład, jak możemy zdefiniować wiele kontrolerów w aplikacji angular.JS.

AngularJS Wiele kontrolerów

<!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>

Wyjaśnienie kodu:

  1. Tutaj definiujemy 2 kontrolery zwane „pierwszym kontrolerem” i „drugim kontrolerem”. Do każdego kontrolera dodajemy także kod do przetwarzania. Do naszego pierwszego Kontrolera dołączamy zmienną o nazwie „pname”, która ma wartość „firstController”, a w drugim Kontrolerze dołączamy zmienną o nazwie „lname”, która ma wartość „drugi Kontroler”.
  2. W tym widoku uzyskujemy dostęp do obu kontrolerów i używamy zmiennej członkowskiej z drugiego kontrolera.

Jeśli kod zostanie wykonany pomyślnie, po uruchomieniu kodu w przeglądarce zostanie wyświetlony następujący wynik. Zobaczysz cały tekst „secondController”, jak oczekiwano.

Wyjście:

AngularJS Wiele kontrolerów

Podsumowanie

  • Dyrektywa ng-repeat w angularjs służy do wyświetlania wielu powtarzających się elementów.
  • Przyjrzeliśmy się także zaawansowanemu kontrolerowi, który sprawdzał definicję wielu kontrolerów w aplikacji.