出于某种原因,当我的路由中有一个动态属性并访问该页面时,我陷入了一个无限循环,该页面将不断地请求自身。
.config(["$routeProvider", "$locationProvider", function($routeProvider, $locationProvider)
{
$locationProvider.html5Mode(true);
$routeProvider.when("/", {
templateUrl: "pages/index.html",
controller: "IndexCtrl"
}).when("/listhome", {
templateUrl: "pages/listhome.html",
controller: "ListHomeCtrl"
}).when("/profile", {
templateUrl: "pages/profile.html",
controller: "ProfileCtrl"
}).when("/newlist", {
templateUrl: "pages/newlist.html",
controller: "NewListCtrl"
}).when("/userlists/:id", {
templateUrl: "pages/userlists.html",
controller: "UserListsCtrl"
}).otherwise({
redirectTo: "/"
});
我正在查看的路线是/userlists/:id 路线。该路线的 Controller 是-
TopTenApp.controller("UserListsCtrl", ["$scope","$routeParams", function($scope, $routeParams)
{
console.log($routeParams);
$scope.lists = [];
}]);
当我访问/userlists/9 我看到 -
Object {id: "9"}
每 3 秒记录一次,页面卡住。只要位置后面有正斜杠(“/userslists/”而不是“/userlists”),这似乎就会发生。
有谁知道这是什么原因?
最佳答案
愚蠢的我,我意识到了这个问题。我想这是有道理的,但是当页面深度为多个“目录”时,模板 url 前面需要有一个正斜杠。
.config(["$routeProvider", "$locationProvider", function($routeProvider, $locationProvider)
{
$locationProvider.html5Mode(true);
$routeProvider.when("/", {
templateUrl: "/pages/index.html",
controller: "IndexCtrl"
}).when("/listhome", {
templateUrl: "/pages/listhome.html",
controller: "ListHomeCtrl"
}).when("/profile", {
templateUrl: "/pages/profile.html",
controller: "ProfileCtrl"
}).when("/newlist", {
templateUrl: "/pages/newlist.html",
controller: "NewListCtrl"
}).when("/userlists/:id", {
templateUrl: "/pages/userlists.html",
controller: "UserListsCtrl"
}).otherwise({
redirectTo: "/"
});
}]);
希望这可以帮助其他有类似问题的人。
关于angularjs - Angular 路线无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21356671/