我有這個分叉代碼plunker分頁它工作正常,但我做了一些調整,使其grub從Json文件中的數據停止工作。
要查看代碼工作註釋行:[13,14,15],然後取消註釋行:[16 - > 37]。
這個錯誤是關於$ filter函數的一個問題,當從Json文件中獲取數據時它返回undefined,所以我認爲是因爲該對象是一個承諾,現在打破了$ filter函數,我不確定。
錯誤發生在這2個功能(使用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調用」。另外,你的錯誤信息不在上下文中,所以在這裏沒有任何意義。你可以設置一個運動員嗎? – Stewie 2013-03-08 17:20:20
在第一行中有一個鏈接到我的帖子中的一個蹦牀。 – 2013-03-08 18:17:56