2014-06-04 10 views
0

Как фильтровать данные из контроллераКак фильтровать данные от контроллера

$scope.aciveresults = data ; // data -- getting from service 

я попробовал

$scope.aciveresults = $filter(data | data.status == true) ; 

Но это бросает ошибку.

Я хочу показать, что данные имеют статус true и хотят делать в контроллере itslef.

Пожалуйста, предложите

+0

Вам не нужен двойной знак равенства Int фильтра? == – alou

+0

Я попытался с этим также ... – Prashobh

ответ

0

Вы, вероятно, следует сделать это в нг-повтора, например, так:

ng-repeat="items in data | filter:item.status == true" 

так, скорее всего, data.status не существует, данных представляет собой набор объектов , каждый из которых имеет пару ключа/значения состояния.

+0

спасибо, но я знаю этот метод, мне нужно сделать в самом контроллере, мне нужно изменить статус на клике, я не могу повторить html – Prashobh

+0

Если вы можете избежать подобных фильтров в DOM лучше сделайте это в контроллере – maurycy

2
  • Inject $ фильтра к контроллеру
  • Затем туда, куда вы хотите использовать фильтр,

    $filter('filtername');

В вашем случае вы должны использовать встроенный фильтр фильтр.

$filter('filter')($scope.aciveresults,{status:true})

Fiddle

ИЛИ Вы также можете вызвать фильтр по имени фильтра плюс суффикс фильтра. Так,

function MyCtrl($scope,filterFilter){ 
    filterFilter($scope.aciveresults,{status:true}) 
} 
0
var resultArray = $filter('filter')($scope.aciveresults , {status:true}); 

синтаксис:$filter('filter')(array, expression, comparator)

Проверить угловые документы для нескольких операций фильтра

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