У меня есть ng-repeat, где I orderBy-функция. Я заметил, что он работает не так, как хотелось бы, когда дело касается чувствительности к регистру.custom sortfunction, которые нечувствительны к регистру
В моем примере вы видите, что «BBBBB» предшествует «aaaaa», что неверно в моем случае. «aaaaa» следует заказать до «BBBBB».
Я не уверен, как это сделать .. Может кто-нибудь мне помочь?
http://plnkr.co/edit/ICNuVCkotSaIsfvdQGTt?p=preview
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Example - example-example105-production</title>
<link href="style.css" rel="stylesheet" type="text/css">
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.0-rc.0/angular.min.js"></script>
<script src="script.js"></script>
</head>
<body ng-app="orderByExample">
<div ng-controller="ExampleController">
<table class="friend">
<tr>
<th>
<button ng-click="order('group')">Name</button>
<span class="sortorder" ng-show="predicate === 'group'" ng-class="{reverse:reverse}"></span>
</th>
<tr ng-repeat="friend in friends | orderBy:predicate:reverse">
<td>{{friend.group}}</td>
</tr>
</table>
</div>
</body>
</html>
ЯШ:
(function (angular) {
'use strict';
angular.module('orderByExample', [])
.controller('ExampleController', [
'$scope',
function ($scope) {
$scope.friends = [
{ group: ['aaaaa'] },
{ group: ['BBBBB'] },
{ group: ['AAAA'] },
];
$scope.predicate = 'group';
$scope.reverse = false;
$scope.order = function (predicate) {
$scope.reverse = ($scope.predicate === predicate) ? !$scope.reverse : false;
$scope.predicate = 'group';
};
}
]);
})(window.angular);
Можете ли вы обновить плункер, пожалуйста? – MrProgram
http://plnkr.co/edit/sff4Pzqsnnr63YhNLzRH?p=preview –
Но он все еще меняется при повторном заказе? – MrProgram