Ahoj, snažím sa použiť dva typy ng-opakovaných príkazov na základe podmienok pomocou ng-if. Nejako to nefunguje. kód:
<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>
Mám dva kontroléry, používajú rovnakú šablónu. V jednej šablóne som nastavil hodnotu $scope.orderby = "0"
, V tejto šablóne chcem použiť ng-repeat
bez orderBy
a naopak. Toto nefunguje. Existuje iný spôsob vykonania tohto typu funkčnosti?
odpovede:
0 pre odpoveď č. 1Vytvoriť objekt: someObjectName.orderby
namiesto primitívnej premennej orderby
, Vaša väzba bude:
<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
mať iný rozsah a orderby
premenná z ng-repeat
nie je to isté v orderby
vnútri ng-repeat
rozsah.
V tomto článku nájdete ďalšie informácie o rozsahu: https://github.com/angular/angular.js/wiki/Understanding-Scopes