Все!
Я попытался сделать рекурсию, чтобы расширить мой $ 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
На основе стека вызовов, который вы указали, похоже, что один или несколько шаблонов страниц содержат директиву ng-view
. ngRoute разрешает только одно ng-view
на главной странице макета.
ng-view
.
pages
?