ページネーション用にこのフォークされたコードプランカーを使用していますが、正常に機能していましたが、 Jsonファイルからデータを取得するように調整した後、機能しなくなりました。
コードが機能するコメント行を表示するには:[13、14、15]、次にコメント解除行:[16->37]。
エラーは、データがJsonファイルからフェッチされたときに未定義を返す$ filter関数の問題に関するものです。したがって、オブジェクトは$ 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: Object。$ scope.groupToPages(controllers.js:66:45)
atObject。$scope.search(controllers.js:61:12)
at new controllers.MainCtrl(controllers )で未定義のプロパティ'length'を読み取ることができません。 js:99:10)
事前に助けてくれてありがとう。