【问题标题】:AngularJS: how to filter only items that have specific 3 characters in value?AngularJS:如何仅过滤具有特定 3 个字符值的项目?
【发布时间】:2015-08-17 15:16:28
【问题描述】:

我在一个包含如下值的对象数组上使用ng-repeat 指令:

{...,"Department": "ABC",...} // object 1
{...,"Department": "ABCDE",...} // object 2, etc

我只想列出包含“ABC”部门的项目。但是,当我这样做时

<table class="table" ng-controller="TestCtrl">
  <tr>
    <td>Name:</td>
    <td>Department:</td>
  </tr>
  <tr ng-repeat="employee in employees | filter:{Department: 'ABC'}">
    <td>{{employee.Email}}</td>
    <td>{{employee.Department}}</td>
  </tr>
</table>

我得到了部门字段中包含“ABC”的所有值的列表,包括那些以 ABC 开头的值,例如:“ABCDEF”。

我如何将结果限制为仅显示来自 ABC 部门的项目,而不显示任何其他可能碰巧将 ABC 作为前 3 个字符的部门?我试过 "limitTo" ,但这只会限制结果,而不是字符。 Plnkr link

【问题讨论】:

标签: javascript angularjs html


【解决方案1】:

查看过滤器的比较器参数 (https://docs.angularjs.org/api/ng/filter/filter)

解决方法是在过滤器中添加:true

employee in employees | filter:{Department: 'ABC'}:true 

...用于“预期和实际的严格比较”。

【讨论】:

  • 太棒了!谢谢!深入阅读官方文档总是会给读者带来回报。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-09
  • 1970-01-01
相关资源
最近更新 更多