AngularJS:如何只过滤值有特定3个字符的项

AngularJS: how to filter only items that have specific 3 characters in value?

本文关键字:3个 字符 过滤 AngularJS      更新时间:2023-09-26

我在包含如下值的对象数组上使用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>

我得到Department字段中包含"ABC"的所有值的列表,包括像这样以ABC开头的值:"ABCDEF"。

如何将结果限制为只显示ABC部门的项目,而不显示任何其他可能恰好以ABC作为其前3个字符的部门的项目?我尝试了"limitTo",但这只限制了结果,而不是字符。Plnkr链接

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

解决方案是将:true添加到过滤器中:

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