2016-09-16 36 views
2

我试图使用routeParams,所以我可以得到URL的一部分,但是当我尝试使用GET参数访问URL时,它使我陷入无限循环。目前,我有以下定义:当routeParams不为空时AngularJS无限循环

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'); 
    } 
}); 

所以,如果我把什么代替组织者PARAM,它打印的是“无限循环”的消息在一个循环中,但它在URL上不使用任何参数时有效。这里可能是什么问题?

+1

您是否尝试添加'.otherwise({redirectTo:'/ organizadores'});'在las'when'之后? – Zakaria

+0

路由声明的顺序是倒退 – charlietfl

+0

@charlietfl改变了顺序,它仍然继续 – Xabi

回答

1

您忘记了将.otherwise({redirectTo:'/organizadores'});指令添加到您的$routeProvider

+0

我已经得到了另外指向'/错误',但我从代码中删除 – Xabi