2016-03-14 2 views
0

Я пытаюсь сделать фильтр на угловой, он работает, если я просто сделать нг-повтор, но когда я пытаюсь этот код:фильтрации в нг-повтора внутри нг-повтора

<div class="row" ng-repeat="article in articles track by $index" ng-if="$index % 3 == 0"> 
    <div class="col-md-4" ng-repeat="i in [$index, $index + 1, $index + 2] | filterByType:typeOfPost" ng-if="articles[i] != null"> 
    <div class="thumbnail"> 
     <p><img class="pageImage" ng-src="{{articles[i].pageImage}}"></p> 
    </div> 
    </div> 
</div> 

удаляет все данные.

Я не уверен, как установить этот фильтр, чтобы получить столбцы, отфильтрованные по типу сообщения.

В основном то, что у меня есть это:

кнопку Dropdown> Сортировка по фото/автор

XXX XXX XXX

(X статья)

Однако сейчас он не фильтрует его правильно

(Я также использую bootstrap)

Не дубликат: Я могу передать значения, статьи показывают, что я не могу сделать, это правильно их фильтровать, так как они находятся внутри ng-repeat. Обычно я просто делал {{article.pageImage}} с фильтром в ng-repeat = "статье в статьях", но здесь он не работает

+0

Возможный дубликат [прохождения 2 $ значения индекса в пределах вложенной нг-повтора] (http://stackoverflow.com/questions/15256600/passing-2-index-values-within-nested-ng- repeat) – Knu

+0

попробуйте это ng-repeat = "i в [$ parent. $ index, $ parent. $ index + 1, $ parent. $ index + 2] | filterByType: typeOfPost" ng-if = "articles [i]! = null "> –

+0

@hadiJZ попытался, но тот же результат, он не работает. –

ответ

0

Закончен фильтрацией информации внутри контроллера в соответствии с предложениями Амита в комментарии:

$scope.setTypePost = function(post) { 
    $scope.typeOfPost = post; 
    if (post === 'all') { 
     $scope.articles = $scope.articles2; 
    } else { 
     $scope.articles = $filter('filter')($scope.articles2, {typeOfPost:$scope.typeOfPost}, true); 
    } 

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