이 분기 코드 plunker은 잘 작동했지만 Json 파일에서 데이터를 잘라내 기 위해 조정을 한 후에 작동을 멈 춥니 다.
주석 줄을 사용하는 코드를 보려면 : [13, 14, 15], 줄의 주석을 제거하십시오 : [16 -> 37].
$ Json 파일에서 데이터를 가져올 때 오류가 $ filter 함수와 관련하여 정의되지 않은 값으로 반환되므로 $ filter 함수가 중단 된 약속이므로 개체가 확실하지 않습니다.
오류합니다 (JSON 호출로)이 두 기능에서 발생합니다
$scope.search = function() {
$scope.filteredItems = $filter('filter')($scope.items, function (item) {
for(var attr in item) {
if (searchMatch(item[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;
// now group by pages
$scope.groupToPages();
};
// calculate page in place
$scope.groupToPages = function() {
$scope.pagedItems = [];
for (var i = 0; i < $scope.filteredItems.length; i++) {
if (i % $scope.itemsPerPage === 0) {
$scope.pagedItems[Math.floor(i/$scope.itemsPerPage)] = [ $scope.filteredItems[i] ];
} else {
$scope.pagedItems[Math.floor(i/$scope.itemsPerPage)].push($scope.filteredItems[i]);
}
}
};
오류 메시지 : 사전에
TypeError: Cannot read property 'length' of undefined
at Object.$scope.groupToPages (controllers.js:66:45)
at Object.$scope.search (controllers.js:61:12)
at new controllers.MainCtrl (controllers.js:99:10)
어떤 도움 감사합니다.
만약'groupToPages'가 당신이 말하는 "2 함수"라면 나는 "Json call"을 본 적이 없습니다. 또한 오류 메시지가 컨텍스트를 벗어나므로 여기서 아무 것도 의미하지 않습니다. 플 런커를 설치할 수 있습니까? – Stewie
첫 번째 줄에는 내 게시물에 플 런커 링크가 있습니다. –