2015-09-25 2 views
2

у меня есть этот код на мой взглядКак фильтр в представлении

<div ng-repeat="config in configs"> 
    <div ng-repeat="test in tests "> 
      <a href="#"> {{test[config.Name]}}</a></li> 
    </div> 
</div> 

он работает отлично. Но как я могу фильтровать тест?

<div ng-repeat="test in Tests | filter:{[config.Name]:'Test'} "> 

не работает. Как я могу отфильтровать столбец config.Name?

Спасибо за вашу помощь

Стефан

+1

Покажите нам свою 'JSON', чтобы мы могли видеть, как получить правильные биты данных. –

ответ

2

Добавить что f соборование к контроллеру:

$scope.createFilter = function(property, value) { 
    var result = {}; 
    result[property] = value; 
    return result; 
}; 

и использовать его в представлении:

<div ng-repeat="test in Tests | filter: createFilter(config.Name, 'Test')"> 
+0

Спасибо, это был ответ. – Stefan

0

Попробуйте это, я надеюсь, что может помочь вам:

JS:

$scope.conf = []; 
$scope.conf.Name = 'Test'; 

HTML:

<div ng-repeat="config in configs | filter:conf:strict"> 
    <div ng-repeat="test in tests "> 
      <a href="#"> {{test[config.Name]}}</a></li> 
    </div> 
</div> 
0

Это хитрый, но если вы поставите значение фильтра в переменной первой, которая могла бы работать?

<div ng-repeat="config in configs" ng-init="$filter = {}; $filter[config.Name] = 'Test'}"> 
    <div ng-repeat="test in tests | filter : $filter"> 
      <a href="#"> {{test[config.Name]}}</a></li> 
    </div> 
</div> 
Смежные вопросы