2016-02-23 3 views
0

Я хочу иметь возможность фильтровать содержимое ng-repeat моего пользовательского элемента в свойстве "cat": в моих данных JSON. У меня есть базовый опыт работы с Angular директивами, но, как вы можете сказать, мое понимание далека от профессионализма. Я чувствую, что проблема заключается в моей директиве с областью видимости {} и свойствами cat, но я немного зациклен на том, как действовать дальше. В настоящее время мой HTML стоит так:Угловое содержимое фильтра Директивы

HTML:

<x-filtered-repeat cat="characters | filter : {cat: 'jedi'} : true | filter:query |orderBy: orderList"></x-filtered-repeat> 

Шаблон фильтрованной repeat.html:

<div> 
    <ul> 
     <li data-ng-repeat="character in characters"> 
     <h2>{{character.name}}</h2> 
     </li> 
    </ul> 
    ... 
</div> 

JS:

.directive('filteredRepeat', function() { 
    return { 
    restrict: 'E', 
    scope: { 
     cat: '=' 
}, 
    templateUrl: 'partials/filtered-repeat.html' 
    }; 
}); 

JSON из JS файла:

$scope.businesses = [ 
    {"name": "Obi-Wan Kenobi", 
    "index":88, 
     "cat": "jedi"}, 
    {"name": "Yoda", 
    "index":69, 
     "cat":"jedi"}, 
    {"name": "Lando", 
    "index":31, 
     "cat": "smuggler"}, 
    {"name": "Han Solo", 
    "index":90, 
     "cat": "smuggler"}, 
    {"name": "Darth Vader", 
    "index":98, 
     "cat": "sith"}, 
    {"name": "Jar-Jar Binks", 
    "index":80, 
     "cat": "alien"}, 
    {"name": "Mace Windu", 
    "index":45, 
     "cat": "jedi"}, 
    {"name": "Chewy", 
    "index":76, 
     "cat": "smuggler"} 
    ]; 

ответ

0

в шаблоне шаблона попробуйте использовать фильтрованную матрицу:

<li data-ng-repeat="character in cat"> 
     <h2>{{character.name}}</h2> 
    </li> 
Смежные вопросы