我们有一个使用AngularJS和ui.router的系统,它支持以下URL模式:
www.domain.com/user/event
www.domain.com/user/group/subgroup/event
www.domain.com/user/group/subgroup/event/_/detail/itemID
设置如下: ``` $ urlMatcherFactoryProvider.type(' nonURIEncoded',{ encode:valToString, 解码:valFromString, 是:regexpMatches, 模式:/(?:(?!/ _)。)* / });
$stateProvider
.state('main.view', {
url: '/_/:view/:id'
})
...
.state('main', {
url: '{path: nonURIEncoded}',
...
});
```
基本上,正则表达式确保在/_/
之前捕捉所有内容并将其作为path
提供给我们,这样我们也可以匹配不同视图可选的子路由/状态
问题是如何使用Angular 2路由器做到最好,以及是否可以匹配包含/
的内容。
我们目前将路由器配置为{ path: ':userId/:eventId', }
,但当有更多级别的层次结构时,这当然不会起作用。我们需要像前一个那样使用某种全能或机制。
非常感谢任何见解!