在AngularDart 0.9.10中按字段过滤

时间:2014-03-27 18:26:09

标签: dart angular-dart

我有以下User课程:

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

在我的控制器中,我创建了usersUser个对象的列表,其中一些对象的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>

1 个答案:

答案 0 :(得分:1)

在这种特殊情况下,您希望使用&#34; FilterFilter&#34;,它允许您对列表中对象的属性进行文件管理。

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

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

其次,如果你需要一个更复杂的谓词,那么解决问题800的方法就是使你的谓词函数成为成员变量而不是控制器上的方法。

e.g。

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

(但希望很快修复错误!)