Я хотел бы иметь возможность сортировать, является ли переменная истиной или ложью.OrderBy логическое значение с AngularJS ng-repeat
Допустим, мы имеем переменную так:
groups = {
{ name: 'first', value: true },
{ name: 'second', value: false },
{ name: 'third', value: true },
{ name: 'fourth', value: false }
}
И мы можем цикл через него, как так:
<div ng-repeat="group in groups">
{{group.name}} {{group.value}}
</div>
который даст вам следующее:
first true
second false
third true
fourth false
Но если бы я хотел, чтобы сортировать по логическому значению, тогда я мог бы сделать это:
<div ng-repeat="group in groups | filter:{value:true}">
{{group.name}} {{group.value}}
</div>
<div ng-repeat="group in groups | filter:{value:false}">
{{group.name}} {{group.value}}
</div>
Что бы дать мне следующий вывод (я хочу):
first true
third true
second false
fourth false
Есть ли способ сделать это с помощью orderBy
или filter
в одном ng-repeat
?
Вы пробовали '' ng-repeat = "группу в группах | orderBy: 'value' "' – Satpal
Вы пытались использовать фильтр 'orderBy', или он не подходит для логических значений? Неясно, из вашего вопроса .. – GRaAL
А, спасибо. Это был просто случай переключения имена переменных и отсутствие имени объекта в. У меня был 'orderBy: '- group.value': true', но он должен был быть' orderBy: '- value': true'. –