【问题标题】:In HTML template, the filter is not working in AngularJS v 1.2.20 (latest version)在 HTML 模板中,过滤器在 AngularJS v 1.2.20(最新版本)中不起作用
【发布时间】:2014-07-25 14:02:17
【问题描述】:

我在我的应用程序中使用 angularjs (v1.2.20)。

我正在使用以下代码 sn-p 将下拉列表中的值与比较器条件绑定。但是下拉值越来越空白,

<select id="countries" class="form-control" ng-model="countries.country" ng-options="country as country.name for country in countries | filter: { "NewYork": countries.cities.name }" required/>

这里,“过滤器:{ "NewYork": countries.cities.name }" 条件不起作用。

但它在较低版本的 AngularJS 1.2.7 中工作。

谁能帮助我最新版本的AngularJS(v1.2.20)有这个问题吗? 或者 如果我需要更改代码中的任何内容,请告诉我。

谢谢,

佩里亚萨米

【问题讨论】:

    标签: angularjs filter ng-options


    【解决方案1】:

    需要反转,

    应该是

    <select id="countries" class="form-control" ng-model="countries.country" ng-options="country as country.name for country in countries | filter: { countries.cities.name: "NewYork" }" required/>
    

    查看working plunker 查看过滤器

    filter:{phone:'555-1276'}
    

    UPDATED FIDDLE进行嵌套对象查找

    【讨论】:

    • 您好,感谢您的回答。让我现在试试这个并更新给你。
    • 嗨,是的,过滤器仅基于“国家”工作(过滤器:{国家名称:“美国”}”)。但它不适用于“城市”(过滤器:{ country.city.name:“纽约”}“)。我的意思是在这种情况下,当我们按子数组元素搜索时,“过滤器”不起作用。就我而言,“countires”是主数组,“cities”是子数组。此外,此问题仅在最新版本的 Angular JS (v1.2.20) 中发生。最新版本有问题吗?或者请让我知道我们该如何解决?
    • @Pramachan:包括一个更新的小提琴,它寻找一个嵌套对象希望现在有帮助
    • 您好,感谢您的大力帮助:)。最后我得到过滤器适用于嵌套对象/数组,根据下面的链接,过滤器不适用于最新版本(v> 1.2.10)。解决方案也在这里,github.com/angular/angular.js/issues/6222plnkr.co/edit/uB7Mta?p=preview 我刚刚更新了我的代码,如下所示,过滤器适用于嵌套对象,|过滤器:{城市:{名称:“纽约”}}再次感谢大家:)
    猜你喜欢
    • 2012-06-08
    • 1970-01-01
    • 2018-05-04
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多