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>
恢复:我尝试按下一个顺序加载模板:
index.html
(ng-view
)
first/index.html
(ng-include
)
first/show.html
(ng-include
)
如何解决这个问题?
我解决了问题。
问题出在不正确的路径上,因此,当 ng-include
找不到模板时,它会无限加载自己。
对于可能遇到类似问题的人,请确保 first/index.html
和 first/show.html
包含您要显示的内容(不是空页面),否则您可能也会遇到与上述相同的循环!
这是 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>
恢复:我尝试按下一个顺序加载模板:
index.html
(ng-view
)first/index.html
(ng-include
)first/show.html
(ng-include
)
如何解决这个问题?
我解决了问题。
问题出在不正确的路径上,因此,当 ng-include
找不到模板时,它会无限加载自己。
对于可能遇到类似问题的人,请确保 first/index.html
和 first/show.html
包含您要显示的内容(不是空页面),否则您可能也会遇到与上述相同的循环!