javascript - 在 ng-repeat 中反转过滤器 - AngularJS

标签 javascript angularjs angular-filters

我知道这类问题已经得到解答。但是有些事情我被困住了。

我的 JSON 数据如下所示:

[{
  "batch_queue_name": "Batch One",
  "start_date": "12/01/2016 10:18 P.M.",
  "end_date": "12/03/2016 01:08 A.M.",
  "completion_status": "100"
}, {
  "batch_queue_name": "Batch Two",
  "start_date": "12/10/2016 12:18 A.M.",
  "end_date": "12/11/2016 05:23 P.M.",
  "completion_status": "100"
}, {
  "batch_queue_name": "Batch Three",
  "start_date": "04/01/2017 12:18 A.M.",
  "end_date": "06/01/2017 03:21 P.M.",
  "completion_status": "60"
}, {
  "batch_queue_name": "Batch Four",
  "start_date": "05/01/2017 01:25 A.M.",
  "end_date": "06/01/2017 12:30 A.M.",
  "completion_status": "97"
}, {
  "batch_queue_name": "Batch Five",
  "start_date": "05/01/2017 12:18 A.M.",
  "end_date": "08/01/2017 03:37 A.M.",
  "completion_status": "42"
}, {
  "batch_queue_name": "Batch Six",
  "start_date": "16/10/2016 12:18 A.M.",
  "end_date": "18/10/2016 05:23 P.M.",
  "completion_status": "100"

}]

现在,在我的 ng-repeat 中,我试图过滤那些完成状态不为 100 的:

<tr ng-repeat="batch in vm.batches | filter: {batch.completion_status:'!'+'100'}">
     <td> ... </td>
 </tr>

但这会引发错误:

Syntax Error: Token '.' is unexpected, expecting [:] at column 28 of the expression [vm.batches |NaNilter: {batch.completion_status != '100%'}] starting at [.completion_status != '100%'}].

我做错了什么?

最佳答案

您不必编写 batch.completion_status。你可以这样做:

ng-repeat="batch in batches | filter: {completion_status: '!100'}"

Demo on JSFiddle

关于javascript - 在 ng-repeat 中反转过滤器 - AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41502753/

相关文章:

angularjs - 访问客户端的根文件夹

javascript - AngularJS SVG 路径指令

angularjs - 从指令的编译内部访问服务

javascript - 从下拉列表中检索两个不同的 Angular 数组的组合结果

javascript - 使用回调创建函数

SQL Server 中的 JavaScript?

angularjs - 如何在 Angular 滤镜功能而不是自定义滤镜中传递多个参数

javascript - AngularJS 从单个字段中的字符串中过滤多个单词

javascript - 将变量传递给 javascript src ='xxx' 外部包含

javascript - 有没有办法将定位器 "by"作为 Protractor 上的字符串传递?