ng-repeat
คำสั่งAngularJS
ตัวอย่าง
เขียนหนึ่งส่วนหัวสำหรับแต่ละรายการในอาร์เรย์ระเบียน:
<body ng-app="myApp" ng-controller="myCtrl">
<h1 ng-repeat="x in records">{{x}}</h1>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.records = [
"Alfreds Futterkiste",
"Berglunds snabbköp",
"Centro comercial Moctezuma",
"Ernst Handel",
]
});
</script>
</body>
ความหมายและการใช้งาน
คำng-repeat
สั่งจะทำซ้ำชุดของ HTML ตามจำนวนที่กำหนด
ชุดของ HTML จะถูกทำซ้ำหนึ่งครั้งต่อรายการในคอลเล็กชัน
คอลเลกชันต้องเป็นอาร์เรย์หรือวัตถุ
หมายเหตุ:แต่ละอินสแตนซ์ของการทำซ้ำจะได้รับขอบเขตของตนเอง ซึ่งประกอบด้วยรายการปัจจุบัน
หากคุณมีคอลเลกชั่นของอ็อบเจ็กต์ng-repeat
คำสั่งนี้เหมาะอย่างยิ่งสำหรับการสร้างตาราง HTML แสดงหนึ่งแถวของตารางสำหรับแต่ละอ็อบเจ็กต์ และข้อมูลตารางหนึ่งรายการสำหรับคุณสมบัติของอ็อบเจ็กต์แต่ละรายการ ดูตัวอย่างด้านล่าง
ไวยากรณ์
<element ng-repeat="expression"></element>
รองรับโดยองค์ประกอบ HTML ทั้งหมด
ค่าพารามิเตอร์
Value | Description |
---|---|
expression | An expression that specifies how to loop the collection. Legal Expression examples: x in records
(key, value) in myObj |
ตัวอย่างเพิ่มเติม
ตัวอย่าง
เขียนหนึ่งแถวของตารางสำหรับแต่ละรายการในอาร์เรย์ระเบียน:
<table ng-controller="myCtrl" border="1">
<tr ng-repeat="x in records">
<td>{{x.Name}}</td>
<td>{{x.Country}}</td>
</tr>
</table>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.records = [
{
"Name" : "Alfreds Futterkiste",
"Country" : "Germany"
},{
"Name" : "Berglunds snabbköp",
"Country" : "Sweden"
},{
"Name" : "Centro comercial Moctezuma",
"Country" : "Mexico"
},{
"Name" : "Ernst Handel",
"Country" : "Austria"
}
]
});
</script>
ตัวอย่าง
เขียนหนึ่งแถวของตารางสำหรับแต่ละคุณสมบัติในวัตถุ:
<table ng-controller="myCtrl" border="1">
<tr ng-repeat="(x, y) in myObj">
<td>{{x}}</td>
<td>{{y}}</td>
</tr>
</table>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.myObj = {
"Name" : "Alfreds Futterkiste",
"Country" : "Germany",
"City" : "Berlin"
}
});
</script>