【发布时间】:2014-06-06 08:26:50
【问题描述】:
我在一个控制器中有三个数组:
-
$scope.allUsers包含:id和:name的所有用户。例如。喜欢this。 -
$scope.job.delegated_to包含与工作委派相关的信息。看起来像这样。
$scope.job.delegated_to = [
{id: 5, user_id:33, user_name:"Warren", hour_count:4},
{id: 5, user_id:18, user_name:"Kelley", hour_count:2},
{id: 5, user_id:10, user_name:"Olson", hour_count:40},
{id: 5, user_id:42, user_name:"Elma", hour_count:2},
{id: 5, user_id:45, user_name:"Haley", hour_count:4},
{id: 5, user_id:11, user_name:"Kathie", hour_count:3}
]
-
$scope.freeUsers必须包含所有用户,而不是委派给工作。
我添加了一块手表
$scope.$watch('job.delegated_to.length', function(){
$scope.freeUsers = filterUsers( $scope.allUsers, $scope.job.delegated_to );
});
但还不能构造一个有效的过滤器。
【问题讨论】:
-
虽然@dubadub 正确回答了 OP 问题,但我认为 OP 可能还有其他含义:使用可用于
ng-repeat指令的角度$Filter。 @Almaron 你能澄清一下吗? -
@alonisser,无论哪种方式都可以。无论哪个工作。
-
请注意,这种过滤器只能在控制器中使用。如果你想在模板中使用 ``` ng-repeat freeUsers | nonAssignedUsers```您必须将建议的过滤器之一封装在角度$Filter中
-
@alonisser 注意到了,谢谢。
标签: javascript arrays angularjs