当routeParams不为null时,AngularJS无限循环

时间:2016-09-16 14:43:52

标签: angularjs loops infinite routeparams

我正在尝试使用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上使用任何参数时它会起作用。这可能是什么问题?

1 个答案:

答案 0 :(得分:1)

您忘记将.otherwise({redirectTo:'/organizadores'});说明添加到$routeProvider