2016-07-09 2 views
0

각도 조절기 내부의 필터 개체를 사용하여 개체 목록을 필터링하고 싶습니다. 그러나 그것은 저에게 여과 된 명부를줍니다. 두 번째 객체를 반환해야합니다.각도 조절기 내부에서 필터가 작동하지 않습니다.

이 당신은 필터에있는 모든 속성을 전달하고, 당신이 어떤 결과를 얻는되지 않도록 각도가 고려와

app.controller('MainCtrl', function($scope, $filter) { 
    $scope.list=[ 
    { 

    "job_id": 2, 
    "description": "Bid for Job 2", 
    "price": 115, 
    "butler_id": 60, 
    "butler_name": "Butler Client 1", 
    "service_price": 500, 
    "material_price": 900, 
    "date_created": "23 Apr 1993" 
    }, 
    { 

    "job_id": 2, 
    "description": "sfcs", 
    "price": 555, 
    "butler_id": 70, 
    "butler_name": "Butler Client 2", 
    "service_price": 666, 
    "material_price": 666, 
    "date_created": "23 Apr 1993" 
    } 
]; 

    $scope.filter ={"butler_name":"","service_price":"","material_price":"6","price":"","created_date":"","description":""}; 

var getFiltered = $filter('filter')($scope.list, $scope.filter); 
    $scope.filteredBids = getFiltered; 

}); 

Plunker link

+0

? 현재 거의 모든 속성에 적용됩니다. –

+0

플 런커가 실제로 작동합니다. 예 :'$ scope.filter = {butler client 1 '};' – mostruash

+0

필터 개체에서 일부 속성이 비어 있으므로 속성이 비어 있으면 해당 속성에 필터가 적용되지 않아야합니다. – Programmer

답변

0

내 코드 샘플입니다.

필터에 따라 속성을 만들어야합니다.

var filterParams = {}; 
     if ($scope.filter.butler_name.trim() !== "") { 
      filterParams.butler_name = $scope.filter.butler_name; 
     } 
     if ($scope.filter.service_price.trim() !== "") { 
      filterParams.service_price = $scope.filter.service_price; 
     } 
     if ($scope.filter.material_price.trim() !== "") { 
      filterParams.material_price = $scope.filter.material_price; 
     } 
     if ($scope.filter.price.trim() !== "") { 
      filterParams.price = $scope.filter.price; 
     } 
     if ($scope.filter.created_date.trim() !== "") { 
      filterParams.created_date = $scope.filter.created_date; 
     } 
     if ($scope.filter.description.trim() !== "") { 
      filterParams.description = $scope.filter.description; 
     } 
     var getFiltered = $filter('filter')($scope.list, filterParams); 
     $scope.filteredBids = getFiltered; 

Updated link

이 적용 싶어 필터