2017-01-27 4 views
1

Я смотрю так, чтобы иметь один ng-repeat, который фильтрует или «порядок» или «идентификатор». Так что-то вроде этого:фильтр состояния ng-repeat с двумя выражениями

ng-repeat "cd in cds | filter: !order ? orderBy:'id' : orderBy:'order'" 

Итак, если заказ пуст (нет данных), следует заказать по идентификатору, если заказ имеет данные, которые он должен приказывает «порядка». Это возможно? Теперь он дает два раза одни и те же данные, состояние, похоже, не работает

+0

http://stackoverflow.com/questions/22621425/angularjs-filter-expression-in-ng-repeat – Merlin

+0

Упрощенное решение –

ответ

1

Вы были рядом; попробовать что-то вроде этого:

ng-repeat "cd in cds | orderBy: (!order ? 'id' : 'order')" 
+0

интересное решение действительно, спасибо. Как-то не получилось, что порядок работы должен был сделать $ scope в контроллере. Покажите вам ответ, как я получил его на работу –

1

спасибо Andrew Diamond, это стало нг-повторить для меня

ng-repeat="cd in cds| orderBy: (ordering != null ? 'order' : 'id')" 

и этот контроллер (пришлось добавить $ scope.ordering):

function GetCDS() { 
     $http({ 
      method: 'Get', 
      url: "/cds" 
     }) 
      .success(function (data, status, headers, config) {   
       $scope.cds = data; 
       $scope.ordering = data[0].order; 
      }) 
      .error(function (data, status, headers, config) { 
       $scope.message = 'Unexpected Error'; 
      }); 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^