Как исправить angular.min.js: 108 TypeError: Невозможно прочитать свойство 'length' с неопределенной ошибкой, показывает угловую js-нумерацию страниц - PullRequest
0 голосов
/ 14 сентября 2018

Я теперь новый angularJs и выполняю задачу разбивки на страницы, использую библиотеку simplePagination для выполнения всех этих задач, все настроено и работает нормально, но здесь, когда проверяет Element в браузере, он показывает

 angular.min.js:108 TypeError: Cannot read property 'length' of undefined
    at b.$scope.numberOfPages (demoController.js:22)
    at fn (eval at compile (angular.min.js:212), <anonymous>:4:230)
    at Object.get (angular.min.js:116)
    at n.$digest (angular.min.js:132)
    at n.$apply (angular.min.js:135)
    at l (angular.min.js:87)
    at F (angular.min.js:91)

Как здесь, я использую модель один - сервис и контроллер demo.service

demoService.getTxn = function(scope) {
        $http.get(Commerce.root + '/user/getaccount').success(function(data, status, headers, config) {
            scope.inProgress = false;   
           scope.getname = data.nameList.length != 0 ? data.nameList : false;
        }).error(function(data, status, headers, config) {
            displayMessage(scope, Commerce.message.serverCommunicationError);
        });
    }

и код контроллера

demo.Controller

 $scope.currentUser = Commerce.User;
    $scope.currentPage = 0;
    $scope.pageSize = 10;
    $scope.currentPageOrders = 0;
    $scope.pageSizeOrders = 10;


    $scope.initUsers = function() {
        $scope.inProgress = true;
        demoService.getTxn($scope);
    }

    $scope.numberOfPages=function(){
        return Math.ceil($scope.getTxn.length/$scope.pageSize);
    }

, пожалуйста, помогите мне решить эту проблему.

1 Ответ

0 голосов
/ 14 сентября 2018

, поскольку ошибка говорит о том, что ваш массив getTxn не определен.Вы можете инициализировать его, чтобы избежать неопределенной ошибки.

$scope.currentUser = Commerce.User;
$scope.currentPage = 0;
$scope.pageSize = 10;
$scope.currentPageOrders = 0;
$scope.pageSizeOrders = 10;
$scope.getTxn = [];


$scope.initUsers = function() {
    $scope.inProgress = true;
    demoService.getTxn($scope);
}

$scope.numberOfPages=function(){
    return Math.ceil($scope.getTxn.length/$scope.pageSize);
}
...