Этот вопрос несколько раз разочаровывал меня.ng-класс неверен на начальном этапе
При загрузке страницы, сортировка по умолчанию для таблицы устанавливается с помощью этого кода:
$scope.sort = {
field: 'date',
dir: 'asc'
};
Сортировка изменяется с помощью пользователя, нажав на таблицу заголовков, например, так:
<th ng-class="{'sort-desc': sorted('date', 'desc'), 'sort-asc': sorted('date', 'asc')}" class="sortable">
<a href="#" ng-click="setSort('date')">Date</a>
</th>
Вот setSort код:
$scope.setSort = function(field) {
if ($scope.sort.field == field)
$scope.sort.dir = ($scope.sort.dir == 'desc') ? 'asc' : 'desc';
else
$scope.sort.field = field;
$scope.update();
};
и сортируют
$scope.sorted = function(field, dir) {
return ($scope.sort.field == field && $scope.sort.dir == dir);
};
В начальной начальной загрузке по умолчанию в таблице данных применяется сортировка по умолчанию (дата-asc), однако сортировка-asc не применяется. При изменении столбца сортировки он будет отображаться в порядке - это только начальная загрузка страницы.
Как я могу получить угловое значение для оценки на pageload?
Что делает 'sorted' функция содержит? –
Добавлено в сообщение body @PankajParkar –
Невозможно воспроизвести проблему здесь ~ http://plnkr.co/edit/lOYj7nFZstMfuGRBR4th?p=preview ('.sort-asc' имеет розовый фон,' .sort-desc' голубой). – Phil