Как изменить фильтр orderBy
в ng-repeat
? Значение по умолчанию по умолчанию - по дате (самое последнее первое), но нажав на toggle_to_sort()
, мне нужно изменить порядок сортировки по имени (порядок алфавита), а затем, если пользователь снова нажмет - вернитесь к порядку по дате.AngularJs ng-repeat orderBy toggle
angular.module('app', []).controller('ctrl', function($scope) {
$scope.array = [
{name: 'item1', date: 1453284120},
{name: 'item2', date: 1453284440},
{name: 'item3', date: 1453284550},
{name: 'item4', date: 1453284086},
{name: 'item5', date: 1453284330},
];
$scope.toggle_to_sort = function() {
// ??
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
<div ng-repeat="item in array | orderBy:'-date'">
<div>{{item.name}}</div>
</div>
<div ng-click="toggle_to_sort()">Toggle<div>
</div>