2015-06-23 2 views
1

мне нужно зарегистрировать в состояние, маршрут, где параметры имеют префикс и косые черты (маршрут/к/parPrefix1 /: paramValue1/parPrefix2 /: paramValue2) и эти параметры являются необязательными, поэтому, если параметр1 не установлен, результирующий URL-адрес должен быть: route/to/parPrefix2/value2Дополнительные параметры маршрута с префиксом (угловые UI-маршрутизатор)

Как я могу обработать этот случай?

Тогда у меня есть второй вопрос: дата должна быть указана следующим образом: 20/10/2015 Если я решить первую точку, я мог бы установить параметр каждой части даты, однако, есть более элегантное решение?

Настоящий случай URL:/risultati/destinazioni /: направления/местный город /: места/partenza /: стартДата/риторно /: возвращениеДобавить/взрослый /: взрослые/бамбини /: дети/эта /: детиAges/aeroporti /: аэропорты/flessibile /: flexDate/

ответ

1

Вы, скорее всего, нужно настроить несколько маршрутов, которые указывают на ту же точку зрения:

например:

route/to/parPrefix1/:paramValue1 
route/to/parPrefix1/:paramValue1/parPrefix2/:paramValue2 
+0

Что делать, если отсутствующий параметр является вторым? У меня есть до 9 необязательных параметров, должен ли я регистрировать все перестановки? –

+0

Просмотрев эту ссылку https://github.com/angular-ui/ui-router/issues/108, похоже, что вы можете сделать что-то вроде следующего: '/ route/to/[parPrefix1 /: paramValue1 [paraPrefix2 /: paramValue2]] ' – spanndemic

+0

Я не могу заставить ваш пример работать, я красную эту страницу, и я думаю, что это было просто предложение о внедрении. –

0

Я согласен с spanndemic см http://benfoster.io/blog/ui-router-optional-parameters. Также я считаю, что большая часть этих данных должна передаваться через службы или значения. Такой длинный URL-адрес всегда будет намного сложнее.

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