使用过滤器更新范围对象 - AngularJS

时间:2015-02-03 12:50:51

标签: javascript angularjs angularjs-scope

我需要更新在更改文本字段中将过滤后的对象从$scope.Departments分配到$scope.FilteredDepartments

HTML:

<input type="text" ng-change="searchItems(searchquery)" ng-model="searchquery">

AngularCode:

$scope.Departments= [{id: 1, name:'ABC'},{id: 2, name:'XYZ'}...];

$scope.searchItems = function (searchString) {
    //Need to do something here
}

如何使用名称进行过滤并将过滤结果分配给$scope.FilteredDepartments

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

HTML:

<input type="text" ng-model="searchValue">
<h3>Filter Ones</h3>
<div ng-repeat="department in filteredDepartments">
    <p>{{department.name}}</p>
</div>

JS:

$scope.departments= [{id: 1, name:'ABC'},{id: 2, name:'XYZ'}];

$scope.$watch(function () {
    return $scope.searchValue;
}, function () {
    $scope.filteredDepartments = $filter('filter')($scope.departments, $scope.searchValue);
});
不要忘记将$ filter注入控制器