【问题标题】:How to filter an array using angular js如何使用角度js过滤数组
【发布时间】:2013-08-08 09:28:35
【问题描述】:
    angular.module('harbinger').
         directive('dossierList', function () {
             return {
                 restrict:"EAC",
                 template:'<div class="Dossier-details" data-ng-repeat="d in model.dossier | filter:{status:"POI"}">'+
                '<p>'+
                '<strong>'+'Dossier ID'+'</strong>:'+
                '<small>'+'{{ d.title }}'+'</small>'+
                '</p>'+
                '</div>',
etc........

我想使用状态过滤数组,我使用了filter:{status:"POI"},但它抛出错误

我的json

  [
       {
           "id": "1",
           "status": "POI",
           "title": "West Nile virus - US",
           "dossierId": "000455"
       },
       {
           "id": "2",
           "status": "I",
           "title": "influenza",
           "dossierId": "000455"
       },
       {
           "id": "4",
           "status": "P",
           "title": "corona virus",
           "dossierId": "000455"
       }
    ]

【问题讨论】:

  • 可以尝试过滤器:{d.status:"POI"}
  • 我试过了,但是不行
  • 使用过滤器:{"status":"POI"} 有效,jsfiddle.net/DotDotDot/S2KhB
  • 但在我的指令中,它不起作用
  • 您是否在模板中正确转义了“”?在您的代码中,您似乎在 POI 周围未转义“”,这会导致错误,但这不是过滤问题

标签: javascript angularjs using-directives


【解决方案1】:

这里会比在 cmets 中更容易,但您的问题只是与逃避问题有关

你可以在这里看到你的指令,工作:http://jsfiddle.net/DotDotDot/S2KhB/1/

问题:

data-ng-repeat="d in model.dossier | filter:{status:"POI"}"

你可以看到你在浏览器理解的任何地方都使用了“

data-ng-repeat="d in model.dossier | filter:{status:" +another attribute ignored

所以你有一个错误,我唯一做的就是使用转义的'

data-ng-repeat="d in data | filter:{status:\'POI\'}"

它似乎有效 =)

玩得开心

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-18
    • 2016-03-27
    • 2014-09-08
    • 2018-10-04
    • 2021-09-18
    • 2015-04-20
    • 2019-12-01
    • 1970-01-01
    相关资源
    最近更新 更多