Ich möchte auch eine neue Funktionalität von AngularJSng-repeat
erwähnen , nämlich spezielle Start- und Endpunkte für Wiederholungen . Diese Funktionalität wurde hinzugefügt, um eine Reihe von HTML-Elementen anstelle eines einzelnen übergeordneten HTML-Elements zu wiederholen .
Um Punkte Verwendung Repeater Anfang und am Ende müssen Sie sie definieren , indem Sie mit ng-repeat-start
und ng-repeat-end
jeweils Richtlinien.
Die ng-repeat-start
Richtlinie funktioniert sehr ähnlich wie die ng-repeat
Richtlinie. Der Unterschied besteht darin, dass alle HTML-Elemente (einschließlich des Tags, für das sie definiert sind) bis zum Ende des HTML-Tags wiederholt werden, an dem sie ng-repeat-end
platziert sind (einschließlich des Tags mit ng-repeat-end
).
Beispielcode (von einem Controller):
// ...
$scope.users = {};
$scope.users["182982"] = {name:"John", age: 30};
$scope.users["198784"] = {name:"Antonio", age: 32};
$scope.users["119827"] = {name:"Stephan", age: 18};
// ...
Beispiel-HTML-Vorlage:
<div ng-repeat-start="(id, user) in users">
==== User details ====
</div>
<div>
<span>{{$index+1}}. </span>
<strong>{{id}} </strong>
<span class="name">{{user.name}} </span>
<span class="age">({{user.age}})</span>
</div>
<div ng-if="!$first">
<img src="/some_image.jpg" alt="some img" title="some img" />
</div>
<div ng-repeat-end>
======================
</div>
Die Ausgabe würde wie folgt aussehen (abhängig vom HTML-Stil):
==== User details ====
1. 119827 Stephan (18)
======================
==== User details ====
2. 182982 John (30)
[sample image goes here]
======================
==== User details ====
3. 198784 Antonio (32)
[sample image goes here]
======================
Wie Sie sehen können, werden ng-repeat-start
alle HTML-Elemente (einschließlich des Elements mit ng-repeat-start
) wiederholt . Alle ng-repeat
speziellen Eigenschaften (in diesem Fall $first
und $index
) funktionieren ebenfalls wie erwartet.