2016-02-15 3 views
0

У меня вопрос о $ routeProvider. В моем коде у меня есть $ routeProvider.

$routeProvider 
     .when('/language/:countryCode', routing) 
     .when('/promotion/:promotionCode', routing) 
     .otherwise(routing); 
}]); 

Переменная 'routing' направляется на контроллер под названием registrationController. Там у меня есть этот метод инициализации.

$scope.initialise = function() {  
    console.log($routeParams); 
} 

Когда я иду в браузер и введите URL:

MYDOMAIN/регистрация #/продвижение /: свободный

на консоли распечатывает

Object {promotionCode: ":free"} 

Но теперь, когда я меняю тот же URL-адрес на

mydomain/registration #/language /: US-EN

Консоль печатает и пуст объект.

Кто-нибудь знает, почему, хотя маршрутизация точно такая же, она не распознает языковой маршрут?

ответ

0

Код, который я дал в самом вопросе, был верным. Я забыл скомпилировать и построить проект. Я не знал, что нужно сделать для изменений javascript.

0

Попробуйте без ":". «:» Предназначен для создания запроса url

+0

Вы имеете в виду «:» в URL-адресе или в самом маршруте? –

+0

Пробовал оба, но не работал. Спасибо за ответ, хотя –

+0

Вот рабочий пример http://jsfiddle.net/k70ga1xb/2/ –

0

может быть изменен в конфигурации вашего маршрута. и добавьте чувствительность к регистру.

$routeProvider 
    .when('/language/:countryCode',{templateUrl: 'your template',controller:langCtrl,caseInsensitiveMatch: truel} 
    ) 
    .when('/promotion/:promotionCode', routing) 
    .otherwise(routing); 
    }]);