Максимальный размер стека вызовов превышен в Angular.js

0

Все!

Я попытался сделать рекурсию, чтобы расширить мой $ routeProvider в Angular.js, это код, который я пытался реализовать:

var pages = {
'home': {
    'url': '/',
    'partialName': 'index',
    'link': partialDir + this.partialName + pageFormat,
    'controllerName': this.partialName + 'Controller',
    'pageTitle': 'Welcome home'
},
'page': {
    'url': '/page',
    'partialName': 'page',
    'link': partialDir + this.partialName + pageFormat,
    'controllerName': this.partialName + 'Controller',
    'pageTitle': 'Page'
},
'page2': {
    'url': '/page2',
    'partialName': 'page2',
    'link': partialDir + this.partialName + pageFormat,
    'controllerName': this.partialName + 'Controller',
    'pageTitle': 'Page2'
}

angular.forEach(pages, function(value, key) {
    console.log(value);

    $routeProvider.when(value.url,{
        templateUrl: value.link
    })
});

$locationProvider.html5Mode({
    enabled: true,
    requireBase: false
});

и я получаю

Максимальный размер стека вызовов

Как я могу решить эту проблему?

Необязательное исключение (анонимная функция) @angular.js: 12450ident. $ Get @angular.js: 9237invokeLinkFn @angular.js: 8782nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546 $ route.link @angular-route.js: 985invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546name. $ get.boundTranscludeFn @angular.js: 7690controllersBoundTransclude @angular.js: 8307update @angular -route.js: 935 $ animate.link @angular-route.js: 900invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546 $ route.link @angle-route.js: 985invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546name. $ get.boundTranscludeFn @angular.js: 7690controllersBoundTransclude @angular.js: 8307update @angle-route. js: 935 $ animate.link @angular-route.js: 900invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8 280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546 $ route.link @angular-route.js: 985invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546name. $ get.boundTranscludeFn @angular.js: 7690controllersBoundTransclude @angular.js: 8307update @angular-route.js: 935 $ animate.link @angular-route.js: 900invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @угловой.js: 7671publicLinkFn @angular.js: 7546 $ route.link @angular-route.js: 985invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546name. $ get. boundTranscludeFn @angular.js: 7690controllersBoundTransclude @angular.js: 8307update @angular-route.js: 935 $ animate.link @angular-route.js: 900invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546 $ route.link @angular-route.js: 985invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546name $ get.boundTranscludeFn @angular.js: 7690controllersBoundTransclude @angular.js: 8307update @angular-route.js: 935 $ animate.link @angular- route.js: 900invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546 $ route.link @angular-route.js: 985invokeLinkFn @angular.js: 8780nodeLinkFn @angular. js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546name. $ get.boundTranscludeFn @angular.js: 7690controllersBoundTransclude @angular.js: 8307update @angular-route.js: 935 $ animate.link @angular-route.js: 900invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546 $ route.link @angular-route.js: 985invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546name. $ get.boundTranscludeFn @angular.js: 7690controllersBou ndTransclude @angular.js: 8307update @angular-route.js: 935 $ animate.link @angular-route.js: 900invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546 $ route.link @angular-route.js: 985invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546name. $ Get.boundTranscludeFn @angular.js: 7690controllersBoundTransclude @angular.js: 8307update @angular-route.js: 935 $ animate.link @angular-route.js: 900invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546 $ route.link @angular-route.js: 985invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546name. $ get.boundTranscludeFn @angular.js: 7690controllersBoundTransclude @angular.js: 8307update @angular-route.js: 935 $ animate.link @angular-route.js: 900invokeLinkFn @angular.js: 8780nodeLinkFn @an gular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546 $ route.link @angular-route.js: 985invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular. js: 7546name. $ get.boundTranscludeFn @angular.js: 7690controllersBoundTransclude @angular.js: 8307update @angular-route.js: 935 $ animate.link @angular-route.js: 900invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546 $ route.link @angular-route.js: 985invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546name $ get.boundTranscludeFn @angular.js: 7690controllersBoundTransclude @angular.js: 8307update @angular-route.js: 935 $ animate.link @angular-route.js: 900invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546 $ route.link @angular-route.js: 985invokeLinkFn @angular.js: 8780 nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546name. $ get.boundTranscludeFn @angular.js: 7690controllersBoundTransclude @angular.js: 8307update @angular-route.js: 935 $ animate.link @angleular -route.js: 900invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546 $ route.link @angular-route.js: 985invokeLinkFn @angular.js: 8780nodeLinkFn @угловой.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546name. $ get.boundTranscludeFn @angular.js: 7690controllersBoundTransclude @angular.js: 8307update @angular-route.js: 935 $ animate.link @angle-route. js: 900invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546 $ route.link @angular-route.js: 985invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546name. $ Get.boundTranscludeFn @angular.js: 7690cont роликиBoundTransclude @angular.js: 8307update @angular-route.js: 935 $ animate.link @angular-route.js: 900invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546 $ route.link @angular-route.js: 985invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671publicLinkFn @angular.js: 7546name. $ Get.boundTranscludeFn @angular.js: 7690controllersBoundTransclude @angular.js: 8307update @angular-route.js: 935 $ animate.link @angular-route.js: 900invokeLinkFn @angular.js: 8780nodeLinkFn @angular.js: 8280compositeLinkFn @angular.js: 7671 6angular.js: 12450 RangeError: Maximum размер стека вызовов превышен в функции (native) в Object.ASTCompiler.compile

  • 0
    Как выглядит ваш стек вызовов, когда выдается ошибка?
  • 0
    Как выглядят pages ?
Показать ещё 3 комментария

1 ответ

0

На основе стека вызовов, который вы указали, похоже, что один или несколько шаблонов страниц содержат директиву ng-view. ngRoute разрешает только одно ng-view на главной странице макета.

  • 0
    Я проверил дважды. Существует только одна директива ng-view .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню