2015-09-29 2 views
0

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

Я попытался сделать рекурсию для того, чтобы расширить свой $ 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 
}); 

и я получаю

Maximum call stack size exceeded

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

Uncaught исключения (анонимные функции) @ angular.js:. 12450ident $ прибудет @ 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 @ angular-route.js: 985invokeLinkFn @ angular.js: 8780nodeLinkFn @ angular.js: 8280compositeLinkFn @ angular.js: 7671publicLinkFn @ angular.js: 7546name. $ get.boundTranscludeFn @ angular.js: 7690controllersBoundTransclude @ angular.js: 83 07update @ 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 @ 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: 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 @ угловое. 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: 8280 СоставнойLinkFn @ 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 @ угловой .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 @ ang ular.js: 8307update @ angular-route.js: 935 $ animate.link @ angular-route.js: 900invokeLinkFn @ angular.js: 8780nodeLinkFn @ угловое.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 @ угловое. js: 7671publicLinkFn @ angular.js: 7546 $ route.link @ angular-route.js: 985invokeLinkFn @ angular.js: 8780nodeLi nkFn @ 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 @ угловой .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: 7690controller sBoundTransclude @ 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: Максимальный размер стека вызовов превышен в функции (на родной) at Object.ASTCompiler.compile

+0

Как выглядит ваш стек вызовов при ошибке? – user1620220

+0

Как выглядят 'страницы? – charlietfl

+0

@charliefl Я обновил вопрос. –

ответ

0

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

+0

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

Смежные вопросы