如何在angularjs中对指令内部的JSON数组使用过滤器

How to use filter for JSON array inside directive in angularjs?

本文关键字:JSON 数组 过滤器 内部 指令 angularjs      更新时间:2023-12-23

我有一个对象JSON,我需要根据容器订单号进行筛选。我尝试了很多方法,它都不起作用,也没有显示错误。

这是对象JSON:我们必须使用JSON.parse()来解析它。为了您的参考,添加了JSON。

 {
  "collections": {
    "container": {
      "rowset": [
        {
          "containerisarchived": "Null",
          "containerorderno": "52",
          "versionnum": "0",
          "containerglobaluniqueid": "Null",
          "containeristenantbased": "true",
          "containercreatedby": "user",
          "containerisdeleted": "false",
          "containertenantid": "292FEC76-5F1C-486F-85A5-09D88096F098",
          "containerlayoutid": "efde5d9d-2ab9-4b5f-b0f7-0ffa11cbf2b4",
          "containerapplicationid": "0000000-0000-0000-0000-000000000000",
          "containerisactive": "Null",
          "containerheadertext": "Customer29Jan16Obj",
          "containerid": "635f8bbf-2d5b-4268-970c-ba4be432ef7e",
          "containercreatedutcdate": "2016-01-29 18:27:50.0"
        },
        {
          "containerisarchived": "Null",
          "containerorderno": "50",
          "versionnum": "0",
          "containerglobaluniqueid": "Null",
          "containeristenantbased": "true",
          "containercreatedby": "user",
          "containerisdeleted": "false",
          "containertenantid": "292FEC76-5F1C-486F-85A5-09D88096F098",
          "containerlayoutid": "efde5d9d-2ab9-4b5f-b0f7-0ffa11cbf2b4",
          "containerapplicationid": "0000000-0000-0000-0000-000000000000",
          "containerisactive": "Null",
          "containerheadertext": "Null",
          "containerid": "4cfaeea7-9282-4e45-b081-3ded3264cd28",
          "containercreatedutcdate": "2016-01-29 18:27:50.0"
        },
        {
          "containerisarchived": "Null",
          "containerorderno": "51",
          "versionnum": "0",
          "containerglobaluniqueid": "Null",
          "containeristenantbased": "true",
          "containercreatedby": "user",
          "containerisdeleted": "false",
          "containertenantid": "292FEC76-5F1C-486F-85A5-09D88096F098",
          "containerlayoutid": "efde5d9d-2ab9-4b5f-b0f7-0ffa11cbf2b4",
          "containerapplicationid": "0000000-0000-0000-0000-000000000000",
          "containerisactive": "Null",
          "containerheadertext": "Customer29Jan16",
          "containerid": "034d3430-d9da-4bd7-a566-ee3a59b506c2",
          "containercreatedutcdate": "2016-01-29 18:27:50.0"
        }
      ],
      "meta": {
        "parentreference": "layout",
        "pkname": "layoutId",
        "fkname": "containerLayoutId"
      }
    }
  },
  "entityinfo": {
    "timestamp": "2016-04-04 15:34:50.409",
    "tenantid": "292FEC76-5F1C-486F-85A5-09D88096F098",
    "entity": "UILayoutManageMent"
  }
}

app.directive('layoutContainerRender',function($compile){
    var layoutContainerObj={};
    linkFn=function(scope, element, attributes, controller) {
    };
    layoutContainerObj.transclude='true';
    layoutContainerObj.restrict='E';
    layoutContainerObj.replace='true';
    layoutContainerObj.template="<div id={{containers.containerid}} ng-repeat='containers in layoutData.collections.container.rowset | orderBy: 'containerorderno' class='k-block'>" +
                                "<div class='k-header'><label>{{containers.containerheadertext}}</label>" +
                                "<span class='k-icon k-i-plus pull-right' onclick='addTableCellToTable(event)'></span>" +
                                "<span class='k-icon k-i-cancel pull-right' onclick='deleteTheContainer(event)'></span>" +
                                "</div> " +
                                "<layout-table-render></layout-table-render>" +
                                "</div>";
    layoutContainerObj.link = linkFn;
    return layoutContainerObj;  
});

请帮我实现这一点。

您可以尝试使用strongtext

     in filtered = (Address.Entries 
                      | filter:{IsRegistered: true} 
                      | filterDate:'InfoDetails')">

过滤AngularJS文档