2013-04-02 3 views
0

는 Angular.js필터링 각도 반복

에 대한 필터를 만들려고

Controller.js 샘플 조각 :

function TitleListCtrl($scope) { 
    $scope.titles = [ 
    { "name": "Foobar", 
     "editions": 
     [{"print": true, 
      "ebook": false, 
      "audio": false }] 
    }, 
    { "name": "FooBarBar", 
     "editions": 
     [{"print": false, 
      "ebook": false, 
      "audio": false }] 
    } 
];} 

각도 HTML : 이제

<ul ng-controller="TitleListCtrl"> 
     <li class="TitleList" ng-repeat="title in titles 
             | filter:isUpcoming 
             | orderBy:'date'">{{title.name}}</li> 
</ul> 

, 나는 반환하기 위해 노력하고있어 액티브 에디션이없는 타이틀 만 (에디션 어레이의 멤버는 모두 true로 설정됩니다). ... 그것은 하드 온라인이 같은 일을 예를 찾을 대신에 위의 접근 방식의

$scope.isUpcoming = function(title) { 
return title.editions[0] & title.editions[1] & title.editions[2]===false; 
}; 

답변

0

찾기, 나는 데이터 NG-쇼 사용 :

<ul ng-controller="TitleListCtrl"> 
<li class="TitleList" data-ng-show="!(title.upcoming)" 
            ng-repeat="title in titles 
            | filter:query 
            | orderBy:'date'">{{title.name}}</li> 
</ul> 

을 그리고 제목에 대한 새로운 쌍 "upcoming": true, 추가 필요한 경우.

function TitleListCtrl($scope) { 
    $scope.titles = [ 
    { "name": "Foobar", 
    "editions": 
    [{"print": true, 
     "ebook": false, 
     "audio": false }] 
    }, 
    { "name": "FooBarBar", 
    "editions": 
    [{"print": false, 
     "ebook": false, 
     "audio": false }], 
    "upcoming": true 
    } 
];}