InternalError: too much recursion <div ng-view="" class="ng-scope">

InternalError: too much recursion <div ng-view="" class="ng-scope">

我是 angularJS 的新手。我卡在上面 error.here 是我的 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">

见附图。

请帮我解决这个问题。

发生此错误是因为您将 templateUrl 设置为 index.html,这实际上也是您的父模板。

解析路由“/”时,angular 会将模板 index.html 注入容器 <div ng-view></div>。注入的模板也有 ng-view 容器。所以 angular 会一遍又一遍地这样做,并陷入无休止的递归。

您可以通过为此 templateUrl 定义另一个局部视图来解决这个问题,例如defaultview.html.

代码

$routeProvider.when('/',{
    templateUrl:"..//views//defaultview.html"
}).when('/table',{
    templateUrl:"..//views//firstview.html"
}).otherwise({
    redirectTo: '/'
})