Angular创建自定义过滤器列表

时间:2015-04-12 17:02:06

标签: javascript angularjs

我对角度全新,请原谅我的问题。 我正在尝试使用用户输入创建过滤器列表。这是我想要做的事情的一个吸引人。 http://plnkr.co/edit/asrZJj2HFJCnmmqJLlgt?p=preview

我明白我的ng-repeat的条件应该是这样的:

ng-repeat="filter in filters | filter: filters"

并在我的过滤器内部使用

ng-repeat="...| filter:{dev:java, happy:true}"

我可以按照我想要的方式进行操作,还是必须创建过滤器模块?

1 个答案:

答案 0 :(得分:1)

您可以做的最简单的事情是将简单对象用于过滤器而不是数组,其中过滤器名称将是属性键。在这种情况下,您将渲染如下过滤器:

<span class="btn btn-success" ng-repeat="(name, value) in filters">
    <strong>{{name}} : {{value}}</strong>
</span>

并在控制器中填充它们:

$scope.createFilter = function(name, value) {
    $scope.filters[name] = value;
    $scope.cleanInput();
};

通过此设置,可以非常轻松地将过滤器应用于表格数据:

ng-repeat="user in users | filter:filters"

演示: http://plnkr.co/edit/Hp8EPpvHv8vklSiFOG6U?p=info

相关问题