我尝试使用多个可选参数与ui-router,但它似乎不起作用。下面是我做的测试:
单个参数就可以了
state.url url called state param values
/page/:x /page/ $stateParams.x == ""
/page/:x /page/2 $stateParams.x == "2"
一个可选参数就可以了
/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
https://stackoverflow.com/questions/27464625
复制相似问题