【发布时间】:2014-04-16 05:42:51
【问题描述】:
基于角度 ui-router wiki (https://github.com/angular-ui/ui-router/wiki/URL-Routing#urlrouterprovider),应该可以使用正则表达式来匹配传入路径。我如何表达正则表达式以匹配以下重定向规则:
$urlRouterProvider
.when('', '/events')
.when('/', '/events')
.when('/:eventName', '/events/:eventName')
.when('/results', '/events/results')
测试示例:
localhost => localhost/#/events
localhost/ => localhost/#/events
localhost/myEvent => localhost/#/events/myEvent
localhost/results => localhost/#/events/results
localhost/#/events => localhost/#/events
localhost/#/results => localhost/#/results
【问题讨论】:
-
你的问题是......?您确实知道
when()s 旨在处理特殊情况...而.state()s 用于处理路由...例如我想使用events而不是e... "when"/e将其翻译成->/events -
是的,我知道 urlRouterProvider 和 stateProvider 之间的区别。在这种情况下,我们正在讨论 url 重定向,稍后将在代码中将其映射到特定状态。我的问题是如何定义我的重定向规则,在第一个块中的无效语法中进行了解释?
-
它不适合你吗?我没有看到任何明显的错误......
-
这不起作用。失败的例子:localhost/events => localhost/events/events 因为'events'作为保留路径名没有被忽略
-
你上面的测试示例(最后 2 个)不应该是
localhost/eventsvslocalhost/#/events
标签: angularjs angular-ui-router