【问题标题】:Filter by field in AngularDart 0.9.10在 AngularDart 0.9.10 中按字段过滤
【发布时间】:2014-03-27 18:26:08
【问题描述】:

我有以下User 类:

class User {
  String name;
  bool registered;
  User(this.name, [this.registered=false]);
}

在我的控制器中,我创建了users,这是一个User 对象的列表,其中一些对象的registered 值设置为true。如何根据registered 属性进行过滤?这是我不完整的html:

<div ng-repeat="user in ctrl.users | filter: ????">
  {{user.name}}
</div>

因为https://github.com/angular/angular.dart/issues/800,我不能使用谓词函数。有没有办法处理过滤器中的user 变量并执行布尔过滤器?像这样的:

// NOT REAL CODE.
<div ng-repeat="user in ctrl.users | filter:user.registered">
  {{user.name}}
</div>

【问题讨论】:

  • 你试过 filter:user.registered 吗?
  • 是的,这不起作用。请参阅接受的答案以了解如何完成。

标签: dart angular-dart


【解决方案1】:

在这种特殊情况下,您希望使用“FilterFilter”,它允许您过滤列表中对象的属性。

<li ng-repeat="user in ctrl.users | filter:{registered: true}">{{user.name}}</li>

完整文档位于https://docs.angulardart.org/#angular/angular-filter.FilterFilter

其次,如果您需要更复杂的谓词,发出 800 的解决方法是使您的谓词函数成为成员变量,而不是控制器上的方法。

例如

@NgController()
class Controller {
  Function pred = (x) => shouldXByDisplayed(x);
}

(但希望该错误很快会得到修复!)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-15
    • 1970-01-01
    • 2018-07-08
    • 2014-08-30
    • 2017-06-08
    • 2019-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多