Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
routeParams不为null时的AngularJS无限循环_Angularjs_Loops_Infinite_Routeparams - Fatal编程技术网

routeParams不为null时的AngularJS无限循环

routeParams不为null时的AngularJS无限循环,angularjs,loops,infinite,routeparams,Angularjs,Loops,Infinite,Routeparams,我试图使用routeParams来获取URL的一部分,但当我尝试使用get参数访问URL时,它会使我陷入无限循环。目前,我有以下定义: var nappet = angular.module('nappet', ['ngRoute', 'ngCookies']); nappet.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { $routeProvid

我试图使用
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');
    }
});

因此,如果我放置任何东西来替换organizer参数,它会在一个循环中打印“无限循环”消息,但当我不在URL上使用任何参数时,它会工作。这里可能有什么问题?

您忘记添加
。否则({重定向到:'/organizadores'})$routeProvider的code>指令

是否尝试添加
。否则({重定向到:'/organizadores'})在las
之后,当
时,路线声明的顺序为backwards@charlietfl更改了顺序,它仍然继续。您可以使用通配符将这些路由合并为一个路由。我已经将其他路由指向“/error”,但我已从代码中删除