0
<table>
<thead>
<tr>
<th class="col-md-3" ng-click="sortDirection = !sortDirection">Created At</th>
</tr>
</thead>
<tbody>
<tr dir-paginate="food in foods | filter:foodFilter | itemsPerPage:pageSize | orderBy:'created_at_date'">
<td class="col-md-"> {{food.created_at_date}} </td>
</tbody>
</table>
<dir-pagination-controls
max-size= 7
boundary-links="true">
</dir-pagination-controls>
Это всего лишь фрагмент кода, но его слишком большой, чтобы мириться. Все работает, но только некоторые из created_at_date в порядке. Когда я нажимаю на другой фильтр для добавления или удаления данных в зависимости от этого фильтра, только некоторые из них вводятся в нужное место. Мой главный вопрос: есть ли способ правильно отсортировать все даты, сохраняя при этом все остальное? Вся помощь приветствуется, спасибоorderBy не работает с разбивкой на страницы и фильтрами
(function() {
"use strict";
App.controller('foodsController', ['$scope'],
function($scope) {
$scope.sortDirection = true;
Я заметил, что вам не хватает '' тега в '
'. – EricЕсли атрибут orderBy не работает, вы можете попробовать добавить этот метод на свой контроллер и перед тем, как обращаться с продуктом в шаблоне, вы можете заказать массив продуктов до того, как он подвергнется воздействию шаблона, то есть 'foods = sortBy ('created_at_date', продукты питания); 'или' dir-paginate = 'food в sortBy (' created_at_date ', продукты) | ... "' –
@ShannonHochkins Я попробовал вашу пищу 'dir-paginate =' в sortBy ('created_at_date', продукты) | filter: foodFilter | itemsPerPage: pageSize ">', но ни один из массивов не появился. Я не совсем понимаю, что вы подразумеваете, добавить метод orderBy к контроллеру? – user3328281
ответ
В вашем контроллере вы можете добавить метод для заказа массива до того, как вы его закроете.
Предполагая, что ваши продукты, массив имеет массив объектов, каждый с ключом created_at_date и значением:
Теперь на шаблоне, у вас есть доступный метод для сортировки значения для вас:
Метод
orderBy
, который мы создали на вашем контроллере, возвращает массив, но он просто сортируется по клавише, который отправлен в качестве первого аргумента функции. Второй аргумент - это исходный массив, который вы пытаетесь отсортировать.По крайней мере, таким образом вы можете проверить, удалили ли вы все другие фильтры, чтобы убедиться, что они упорядочены правильно, если после их добавления в него изменения происходят из-за того, что эти фильтры также меняют порядок.
источник
2016-05-26 22:49:43
Смежные вопросы