Я пытаюсь использовать несколько необязательных параметров с помощью ui-router, но он, похоже, не работает. Ниже приведены тесты я сделал:Несколько необязательных параметров с угловым ui-router
Единственный параметр ОК
state.url url called state param values
/page/:x /page/ $stateParams.x == ""
/page/:x /page/2 $stateParams.x == "2"
Один дополнительный параметр OK
/page/:x? /page/ $stateParams.x == ""
/page/:x? /page/2 $stateParams.x == "2"
Два параметра в порядке (за исключением уродливых двойных косых черт в первом случае, /page
и /page/
превращается в /page//
. Но поскольку параметры не являются обязательными, это нормально)
/page/:x/:y /page// $stateParams.x == "" && $stateParams.y == ""
/page/:x/:y /page/2 $stateParams.x == "" && $stateParams.y == ""
/page/:x/:y /page/2/ $stateParams.x == "2" && $stateParams.y == ""
/page/:x/:y /page/2/3 $stateParams.x == "2" && $stateParams.y == "3"
Два необязательных параметра ведут себя странно. Второй параметр всегда неопределен, и он не может решить первый параметр, когда я укажу второй.
/page/:x?/:y? /page/ $stateParams.x == "" && $stateParams.y == undefined
/page/:x?/:y? /page/2 $stateParams.x == "2" && $stateParams.y == undefined
/page/:x?/:y? /page/2/ $stateParams.x == "" && $stateParams.y == undefined
/page/:x?/:y? /page/2/3 $stateParams.x == "" && $stateParams.y == undefined
Это хороший ответ, просто чтобы не просто сказать, чтобы использовать параметры запроса, как я ожидал бы люди. – Mallen
Для меня он выдает сообщение «Ошибка: оба параметра и url указаны в состоянии« ошибка страницы ». –
И когда я прочитал эту ошибку, я думаю: «Ошибка:« ci »указан дважды в« specicified ». (your_lol_here) –