AngularJS ng-repeat 指令及示例
AngularJS 中的 ng-repeat 指令
AngularJS 中的 ng-repeat 指令用于显示控制器中定义的重复值。有时我们需要在视图中显示项目列表。ng-repeat 指令帮助我们将控制器中定义的一系列项目显示到视图页面。
AngularJS ng-repeat 指令示例
让我们来看一个 AngularJS 中 ng-repeat 指令的例子
<!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>
代码解释
- 在控制器中,我们首先定义了要在视图中定义的项目列表数组。在这里,我们定义了一个名为“TopicNames”的数组,其中包含三项。每项都包含一个名称-值对。
- 然后将 TopicNames 数组添加到名为“topics”的成员变量中,并将其附加到我们的作用域对象。
- 我们使用
- (无序列表) 和
- (列表项) 的 HTML 标签来显示数组中的项目列表。然后我们使用 ng-repeat 指令来遍历数组中的每一项。单词“tpname”是一个变量,用于指向 topics.TopicNames 数组中的每一项。
- 在这里,我们将显示每个数组项的值。
如果代码执行成功,当您在浏览器中运行代码时,将显示以下输出。您将看到数组中的所有项目(基本上是 topics 中的 TopicNames)。
输出
AngularJS 多个控制器
更高级的控制器示例将是拥有多个控制器的概念,适用于 Angular JS 应用程序。
您可能希望定义多个控制器来分隔不同的业务逻辑函数。之前我们提到了在一个控制器中有不同的方法,其中一个方法具有单独的加法和减法功能。您可以使用多个控制器来实现更高级的逻辑分离。例如,您可以有一个只处理数字的控制器,另一个处理字符串的控制器。
让我们看一个如何在 Angular.JS 应用程序中定义多个控制器的示例。
<!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>
代码解释
- 这里我们定义了两个控制器,名为“firstController”和“secondController”。对于每个控制器,我们还添加了一些处理代码。在我们的 firstController 中,我们附加了一个名为“pname”的变量,其值为“firstController”,在 secondController 中,我们附加了一个名为“lname”的变量,其值为“secondController”。
- 在视图中,我们访问两个控制器并使用第二个控制器中的成员变量。
如果代码执行成功,当您在浏览器中运行代码时,将显示以下输出。正如预期的那样,您将看到“secondController”的所有文本。
输出
摘要
- AngularJS 中的 ng-repeat 指令用于显示多个重复项。
- 我们还看了一个高级控制器,它涉及应用程序中多个控制器的定义。