自定义过滤器在AngularJs中不起作用

时间:2016-09-18 21:41:05

标签: angularjs angular-filters

我试图在树形结构中显示分层数据。当用户搜索名称时,我试图使用自定义过滤器“getSelectedNames”。但不幸的是我无法过滤它。请帮帮我。

MyApp.filter('getSelectedNames', function () {
    return function (data, name) {
        var arr = [];
        var recFun = function (input) {
            angular.forEach(input, function (item) {
                if (item.name == name) {
                    arr.push(item);
                    return arr;
                }
                else if (item.children) {
                    rec(item.children);
                }
                return arr;
            });           
        };        
        recFun(data);       
    }
});
<div class="form-group">
  <input type="text" ng-model="activeName" placeHolder="Enter name to search">
  <ul ng-repeat="parent in filteredNames = (Names | getSelectedNames: activeName)">
    <li>
      {{parent.name}}
      <ul>
        <li style="margin-left: 20px;" ng-repeat="child in parent"> {{child.name}}</li>
      </ul>
    </li>      
  </ul>
</div>

0 个答案:

没有答案