RangeError: максимальный размер стека вызовов превысил AngularJS - PullRequest
0 голосов
/ 10 октября 2018

Я новичок в AngularJS.Начиная с сценария, он работал нормально, когда в процессе разработки, после загрузки в производство, я получил RangeError в моем контроллере.Я запутался в этой ошибке, даже поиск в Google все еще не решен: (

Вот мой скрипт на routeProvider:

    .when('/customer/detail/:id', {
    title: 'Customer Detail',        
    templateUrl: 'templates/customer_detail.html',
    resolve: {
        app: function($q, $rootScope, $location, roles) {
            var defer = $q.defer();
            if (roles.pageCustomer !== true) {
                $location.path('/main.html');
            };
            defer.resolve();
            return defer.promise;
        }
    }
})

Тогда на моем контроллере:

app.controller('ctrl_customer_list', function($scope){

        $scope.title    = "Customer List";


        $('#datatable_customer').DataTable({
            bServerSide: true,
            bDestroy: true,
            responsive: true,
            iDisplayLength: 250,
            serverSide: true,
            columnDefs: [ {
            targets: 0,
            orderable: false,
            targets : 1,
            "render": function ( data, type, row, meta ) {
            var itemID = row[8];                   
            return '<a href="customer/detail/' + itemID + '">' + data + '</a>';
            }                     
        }],
            lengthMenu: [ 10, 25, 50, 75, 100, 250, 500, 1000 ],         
            aaSorting: [[1, 'asc']],
            ajax:{
                    url :"backend/customer/list", // json datasource
                    type: "post",  // type of method  ,GET/POST/DELETE
                    error: function(){
                                        $("#datatable_processing").css("display","none");
                                    }
            },
            language: {
                    searchPlaceholder: 'Search...',
                    sSearch: '',
                    lengthMenu: '_MENU_ items/page',
            }

    });

    $('.dataTables_length select').select2({ minimumResultsForSearch: Infinity });

});

Я получил следующую ошибку, когда код работал:

RangeError: Maximum call stack size exceeded
at Function.n.extend.n.fn.extend (jquery.js:177)
at Function.n.extend.n.fn.extend (jquery.js:228)
at Function.n.extend.n.fn.extend (jquery.js:228)
at Function.n.extend.n.fn.extend (jquery.js:228)
at Function.n.extend.n.fn.extend (jquery.js:228)
at Function.n.extend.n.fn.extend (jquery.js:228)
at Function.n.extend.n.fn.extend (jquery.js:228)
at Function.n.extend.n.fn.extend (jquery.js:228)
at Function.n.extend.n.fn.extend (jquery.js:228)
at Function.n.extend.n.fn.extend (jquery.js:228)
(anonymous) @ angular.js:15536
(anonymous) @ angular.js:11815
(anonymous) @ angular.js:21559
Pg.completeTask @ angular.js:21194
(anonymous) @ angular.js:6790
setTimeout (async)
h.defer @ angular.js:6788
f @ angular.js:21554
(anonymous) @ select2.js:194
(anonymous) @ angular.js:1365
Ba @ angular.js:11235
q @ angular.js:10554
g @ angular.js:9801
g @ angular.js:9804
g @ angular.js:9804
g @ angular.js:9804
g @ angular.js:9804
q @ angular.js:10548
g @ angular.js:9801
g @ angular.js:9804
g @ angular.js:9804
q @ angular.js:10548
g @ angular.js:9801
(anonymous) @ angular.js:9666
link @ angular-route.js:1260
(anonymous) @ angular.js:1365
Ba @ angular.js:11235
q @ angular.js:10554
g @ angular.js:9801
(anonymous) @ angular.js:9666
(anonymous) @ angular.js:10080
d @ angular.js:9844
m @ angular.js:10604
C @ angular-route.js:1209
$broadcast @ angular.js:19683
(anonymous) @ angular-route.js:749
(anonymous) @ angular.js:17914
$digest @ angular.js:19075
$apply @ angular.js:19463
k @ angular.js:13312
w @ angular.js:13569
E.onload @ angular.js:13474
load (async)
(anonymous) @ angular.js:13457
s @ angular.js:13257
(anonymous) @ angular.js:12998
(anonymous) @ angular.js:17914
$digest @ angular.js:19075
$apply @ angular.js:19463
(anonymous) @ angular.js:15270
dispatch @ jquery.js:4435
r.handle @ jquery.js:4121

Я использую AngularJS 1.7.5 и GruntTasker. Любой совет? Большое спасибо за помощь (извините, мой английский)

1 Ответ

0 голосов
/ 11 октября 2018

просто обновить, чтобы решить проблему.Во-первых, я следую инструкциям как упоминание @numbtongue.Наконец-то обнаружены проблемы, связанные с AngularJS-select2.Я попытался удалить AngularJS-select2 из репозиториев и, наконец, сработал!

Большое спасибо @numbtongue за отладку инструкций в Chrome.

PS: С помощью отладчика вы можете видеть, сколько скриптов выполняетсяв течение времени.

...