【发布时间】:2014-12-27 12:14:18
【问题描述】:
每个space 都是一个具有名为open 的布尔属性的对象,我将它们放入两个列表中。在这种情况下,我有两个,一个是true,一个是false。当列表完全呈现时,两个项目都在打开列表中。这是我尝试过的:
ng-repeat="space in ctrl.manager.spaces | filter:open"
ng-repeat="space in ctrl.manager.spaces | filter:!open"
和
ng-repeat="space in ctrl.manager.spaces | filter:open:true"
ng-repeat="space in ctrl.manager.spaces | filter:open:false"
和
ng-repeat="space in ctrl.manager.spaces | filter:{'open':true}"
ng-repeat="space in ctrl.manager.spaces | filter:{'open':false}"
{{space.open}} 确认一个是true,一个是false。
【问题讨论】:
-
我只是在我的控制器中使用谓词函数尝试了它,但问题是当值更改时列表没有重新呈现,大概是因为 Angular 不知道要观察什么(它隐藏在函数)。
-
虽然使用我的谓词函数 {{ctrl.isOpen(space)}} 将字段渲染为测试,但更新得很好。
-
你试过 filter:{space.open:true} 吗?
-
这会引发异常——它需要一个冒号,而不是一个点。如果我引用
space.open,它会抱怨Space没有space方法,但在原帖中,'open'不起作用。 -
过滤器:{open:true}:stackoverflow.com/questions/17655837/…
标签: dart angular-dart