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

AngularJS. ng-include inside of ng-view infinitely loads content of ng-view

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

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

我的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.html (ng-view)
  2. first/index.html(ng-include)
  3. first/show.html(ng-include)

如何解决这个问题?

我解决了问题。

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

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