2016-09-16 35 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