2014-09-17 4 views
5

Я пытаюсь реализовать угловой маршрут, который должен иметь несколько параметров. Вот пример того, что я пробовал:Передача нескольких параметров по маршруту AngularJS

.when('/myRoute/paramA/:paramA/paramB/:paramB/paramC/:paramC', { 
    templateUrl: 'abc.html', 
    controller: 'pwrController as pwrCtrl' 
}); 

Теперь проблема в том, что мне нужно всегда пройти парам, чтобы пройти paramB. И paramA и paramB для прохождения paramC.

Есть ли какой-либо способ в угловом, где я могу самостоятельно передавать paramA, paramB или paramC?

Спасибо. !

+0

Вот как работает маршрутизация: Единственный способ добраться до дальнейших вложенных паров должны иметь предыдущий Params. –

+6

Что вы подразумеваете под независимым? То, как вы его спроектировали, указывает, что ваш URL-адрес будет иметь все параметры в URL-адресе. Почему это не может быть сделано как '? ParamA =' paramA '& paramB =' paramB '& paramC =' paramC ' – AnkitG

+1

Я согласен с помощью AnkitG, используйте функцию $ location.search ('paramA', paramA) для установки параметров перед загрузкой нового маршрута, а затем вы можете прочитать его с помощью $ location.search(). paramA – SoluableNonagon

ответ

13

впрыснуть $location в контроллеры и использование, что вместо routeParams

var paramA = 'something'; 
$location.search('paramA', paramA); // write 
// result http://localhost:3000/#/route/routeParam?paramA=something 

$location.search() // read whole object 
$location.search().paramA // read one parameter 
// result 'something'; 
+3

Кредит действительно подходит к @AnkitG, который первым сделал это предложение. – SoluableNonagon

Смежные вопросы