如何在视图中过滤

时间:2015-09-25 21:47:43

标签: angularjs

我在我看来有这个代码

<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?

感谢您的帮助

的Stefan

3 个答案:

答案 0 :(得分:2)

将该功能添加到您的控制器:

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

并在视图中使用它:

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

答案 1 :(得分: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>

答案 2 :(得分: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>