AngularJS。 ng-include在ng-view内部无限加载ng-view的内容

时间:2015-12-19 16:48:59

标签: angularjs ng-view angularjs-ng-include

这是ng-include输出中ng-view的结果:

current view of my page

当然,我只需加载此页面一次。

我的app.js:

var app = angular.module('app', ['ngRoute']);
app.config(function($routeProvider, $locationProvider) {
    $routeProvider

    .when('/first_route', {
        templateUrl: '/templates/first/index.html',
        controller: 'FirstController',
        controllerAs: 'First',
    })
    .when('/second_route', {
        templateUrl: '/templates/second/index.html',
        controller: 'SecondController',
        controllerAs: 'Second',
    });

// I omitted my app.run(), because it contains only headers and redirect to 
// login page for not authenticated users

};

在我的主index.html文件中,我只使用ng-view指令。

我的first/index.html包含:

<h1>Current page</h1>
<ng-include src="'first/show.html'"></ng-include>
// remaining part of page

我的first/show.html包含:

<ng-include src="'second/index.html'"></ng-include>

恢复:我尝试按下一个顺序加载模板:

  1. index.htmlng-view
  2. first/index.htmlng-include
  3. first/show.htmlng-include
  4. 如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

我解决了这个问题。

问题的路径不正确,因此,当ng-include无法找到模板时,它会自动无限加载。

答案 1 :(得分:1)

对于可能遇到类似问题的人,请确保first/index.htmlfirst/show.html包含您要显示的内容(不是空白页面),否则您可能也会拥有与上面相同的循环!