2014-10-29 6 views
-1

angularJS에서 검색 중 첫 번째 페이지의 두 번째 페이지 매김 페이지의 데이터를 표시 할 수 있습니까?angularJS에서 데이터 필터링

내가 50 개의 데이터 레코드를 가지고 있다고 가정 해 봅시다. 이제 페이지 당 10 개의 레코드 5 페이지로 페이지가 매겨집니다. 이제 필터링하는 동안 다섯 번째 페이지 데이터의 1 페이지에 데이터를 표시하려고합니다.

가능한 경우 나에게 그 아이디어를 제공하십시오.

var searchMatch = function (haystack, needle) { 
    if (!needle) { 
     return true; 
    } 
    return haystack.toLowerCase().indexOf(needle.toLowerCase()) !== -1; 
}; 

// init the filtered items 
$scope.search = function() { 
    $scope.filteredItems = $filter('filter')($scope.events, function (event) { 
     for(var attr in event) { 
      if (searchMatch(event[attr], $scope.query)) 
       return true; 
      } 
     return false; 
    }); 
    // take care of the sorting order 
    if ($scope.sortingOrder !== '') { 
     $scope.filteredItems = $filter('orderBy')($scope.filteredItems, $scope.sortingOrder, $scope.reverse); 
    } 
    $scope.currentPage = 0; 
}; 

TIA

..

+0

현재 작업 코드를 공유해야합니다. –

+0

@Rahil 실제로, 검색하는 동안 해당 페이지에서 사용할 수있는 데이터를 표시하고 있지만 내 질문은 첫 번째 페이지에서 3 번째 페이지의 데이터를 표시하려는 경우 – DIVA

+0

어떻게하면 우리에게 아이디어를 줄 것으로 기대합니까? 코드를 볼 수 없습니까? –

답변

0

나는 생각보다 선호됩니다. 나는 50 개의 레코드로 구성된 totalObj라는 하나의 객체를 가지고 있으며, ng-repeat.Now를 사용하여 DOM에 표시하기 위해이 객체를 orgTotalObj 변수에 복사합니다. 이제 어떤 기준 으로든 사용자가 검색하면 orgTotalObj를 검색하고이 검색된 항목으로 totalObj 변수를 업데이트합니다. 이제 하나의 요소 만 DOM에 표시됩니다. 사용자가 검색을 취소하면 orgTotalObj를 totalObj에 다시 할당하여 모든 레코드를 표시 할 수 있습니다.

+0

업데이트했습니다. 예제로 알려주시겠습니까? – DIVA

+0

jsfiddle에서 코드를 공유 할 수 있습니까? 코드를 보지 않고 예제를 제시하기가 어려울 것입니다. –

+0

http://jsfiddle.net/Ls14bcwf/ – DIVA