AngularJS:使用JSON过滤器进行条件链接

时间:2015-03-08 23:59:32

标签: json angularjs

我试图使用过滤器有条件地显示JSON对象的某些字段。目前显示的内容如下:

JSON输出:[ { tag: "Reading", checked: true }, { tag: "Writing", checked: false }, { tag: "Homework", checked: true}, { tag: "Groupwork", checked: false } ];

期望的输出:

Reading, Homework

我只会显示check == true的那些字段。

HTML / AngularJS:
      <div class="item"> <pre ng-bind="tagList | json"></pre> </div>

其中tagList是上面的javascript对象。

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

angular.module('myApp',[]).filter('tagsjson', function(){

    return function(items){

        var arrayToReturn = [];        
        for (var i=0; i<items.length; i++){
            if (items[i].checked) {
                arrayToReturn.push(items[i].tag);
            }
        }
        return arrayToReturn.join();
    };
});

然后您可以将过滤器用作:

<div class="item">
    <pre ng-bind="tagList | tagsjson"></pre>
</div>

Here is a plunker演示了上述内容

PS:你可以命名你的过滤器json,但这会覆盖内置过滤器,就像你的代码一样,不确定这是不是你想要的。