首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >具有angular ui-router的多个可选参数

具有angular ui-router的多个可选参数
EN

Stack Overflow用户
提问于 2014-12-14 07:10:29
回答 1查看 22.4K关注 0票数 19

我尝试使用多个可选参数与ui-router,但它似乎不起作用。下面是我做的测试:

单个参数就可以了

代码语言:javascript
复制
state.url       url called     state param values

/page/:x        /page/         $stateParams.x == ""
/page/:x        /page/2        $stateParams.x == "2"

一个可选参数就可以了

代码语言:javascript
复制
/page/:x?       /page/         $stateParams.x == ""
/page/:x?       /page/2        $stateParams.x == "2"

两个参数都没问题(除了第一个例子中丑陋的双斜杠,/page/page/变成了/page//。但由于参数不是可选的,所以这是可以的)

代码语言:javascript
复制
/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"

两个可选参数的行为很奇怪。第二个参数总是未定义的,当我指定第二个参数时,它不能求解第一个参数。

代码语言:javascript
复制
/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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27464625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档