我是angularJS的新手。我坚持上面的错误。我的index.html
<body ng-app="myApp">
<div ng-view></div>
<a href="table">click</a>
<script src="./libs/angular.js"></script>
<script src="./libs/angular-route.js"></script>
<script src="./scripts/myscript.js"></script>
</body>
这是我的脚本文件
var app=angular.module("myApp",['ngRoute']);
app.config(['$routeProvider',function($routeProvider){
console.log("i am routeprovider");
$routeProvider.when('/',{
templateUrl:"index.html"
}).when('/table',{
templateUrl:"..//views//firstview.html"
}).otherwise({
redirectTo: 'google.com'
})
}])
在我的本地服务器上运行index.html后,我在控制台中出现以下错误
InternalError: too much recursion
Stack trace:
[object Object]
<div ng-view="" class="ng-scope">
见附图。
请帮我解决这个问题。
答案 0 :(得分:0)
发生此错误是因为您已将templateUrl
设置为index.html,而index.html实际上也是您的父模板。
解析路径时,'/'angular会将模板index.html注入容器<div ng-view></div>
。注入的模板也有ng-view
容器。因此,角度会一遍又一遍地执行此操作,并且无法进行无休止的递归。
您可以通过为此templateUrl
定义另一个部分视图来解决此问题。 defaultview.html。
代码
$routeProvider.when('/',{
templateUrl:"..//views//defaultview.html"
}).when('/table',{
templateUrl:"..//views//firstview.html"
}).otherwise({
redirectTo: '/'
})