У меня есть три массива в контроллере:AngularJs Фильтр массива другого массив
$scope.allUsers
, содержащий все пользователь с помощью:id
и:name
. Например. smth, как 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 правильно, я думаю, что ОП может означать что-то другое: с помощью углового '' '$ Filter''', которые могут быть использованы на директив '' 'ng-repeat'''. @Almaron вы можете уточнить? – alonisser
@alonisser, в любом случае это нормально. Какая бы работа ни была. – Almaron
просто обратите внимание, что этот фильтр можно использовать только в контроллере. если вы хотите использовать его в шаблоне с помощью '' 'ng-repeat freeUsers | nonAssignedUsers''' вам нужно будет инкапсулировать один из предложенных фильтров в угловой [$ Filter] (https://docs.angularjs.org/guide/filter) – alonisser