Hallo, ich versuche, zwei Arten von ng-repeat-Anweisungen basierend auf der Codierung mit ng-if zu verwenden. Irgendwie funktioniert es nicht. Code:
<div ng-if="orderby === "0"">
<div ng-repeat="user in users | filter:search"></div>
</div>
<div ng-if="orderby === "1"">
<div ng-repeat="user in users | filter:search| orderBy:"-timestamp""></div>
</div>
Ich habe zwei Controller, sie verwenden die gleiche Vorlage. In einer Vorlage setze ich den Wert von $scope.orderby = "0"
. In dieser Vorlage möchte ich verwenden ng-repeat
ohne orderBy
und umgekehrt. Das funktioniert nicht. Gibt es eine andere Möglichkeit, diese Art von Funktionalität zu realisieren?
Antworten:
0 für die Antwort № 1Objekt erstellen: someObjectName.orderby
anstelle der primitiven Variablen orderby
. Und Ihre Bindung wird sein:
<div ng-if="someObjectName.orderby === "0"">
<div ng-repeat="user in users | filter:search"></div>
</div>
<div ng-if="someObjectName.orderby === "1"">
<div ng-repeat="user in users | filter:search| orderBy:"-timestamp""></div>
</div>
ng-repeat
haben einen anderen Bereich und Ihre orderby
variabel aus ng-repeat
ist nicht dasselbe in orderby
Innerhalb ng-repeat
Umfang.
In diesem Artikel finden Sie weitere Informationen zu Bereichen: https://github.com/angular/angular.js/wiki/Understanding-Scopes