【发布时间】:2017-01-24 20:20:15
【问题描述】:
我正在尝试使用routeParams,以便获得部分 URL,但是当我尝试使用 GET 参数访问 URL 时,它让我陷入无限循环。目前,我定义了以下内容:
var nappet = angular.module('nappet', ['ngRoute', 'ngCookies']);
nappet.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider
.when('/', {templateUrl: 'app/home/view/homeView.html', controller: 'homeController'})
.when('/organizadores', {templateUrl: 'app/organizers/view/organizerView.html', controller: 'organizerController'})
.when('/organizadores/:organizer', {templateUrl: 'app/organizers/view/organizerDetailView.html', controller: 'organizerController'})
$locationProvider.html5Mode(true);
}]);
这是控制器:
nappet.controller('organizerController', function($scope, $location, $cookies, $http, $routeParams) {
if($routeParams.organizer === undefined) {
console.log('Works');
} else {
console.log('Infinite loop');
}
});
所以,如果我用任何东西替换了管理器参数,它会在循环中打印“无限循环”消息,但是当我不在 URL 上使用任何参数时它会起作用。这可能是什么问题?
【问题讨论】:
-
您是否尝试在 las
when之后添加.otherwise({redirectTo:'/organizadores'});? -
路由声明的顺序是倒序的
-
@charlietfl 更改了订单,但仍在继续
-
你也可以使用通配符将这些路由组合成一个
标签: angularjs loops infinite routeparams