2014-03-27 44 views
0

我有以下User类:过滤器通过场AngularDart 0.9.10

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> 
+0

你尝试过滤:user.registered? – Ozan

+0

是的,这是行不通的。请参阅接受的答案,了解如何完成此操作。 –

回答

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); 
} 

(但预期错误将尽快修复!)