Javascript 使用Angular 2路由器实现类似urlMatcherFactoryProvider的行为
我们有一个使用AngularJS和ui.router的系统,支持以下URL模式:Javascript 使用Angular 2路由器实现类似urlMatcherFactoryProvider的行为,javascript,angularjs,angular,angular2-routing,Javascript,Angularjs,Angular,Angular2 Routing,我们有一个使用AngularJS和ui.router的系统,支持以下URL模式: www.domain.com/user/event www.domain.com/user/group/subgroup/event www.domain.com/user/group/subgroup/event/\uu/detail/itemID 此设置如下所示: ``` $URLMacherFactoryProvider.type('nonURIEncoded'{ 编码:valToString, 解码:val
www.domain.com/user/event
www.domain.com/user/group/subgroup/event
www.domain.com/user/group/subgroup/event/\uu/detail/itemID
此设置如下所示:
```
$URLMacherFactoryProvider.type('nonURIEncoded'{
编码:valToString,
解码:valFromString,
is:regexpMatches,
模式:/(?:(?!/))*/
});
```
基本上,正则表达式确保在和之前跟踪所有内容,并将其作为路径提供给我们,这样我们还可以匹配不同视图可选的子路由/状态
问题是如何最好地使用Angular 2路由器,以及是否有可能匹配包含/
的内容
我们目前将路由器配置为{path:':userId/:eventId',},但一旦存在额外的层次结构,这当然就不起作用了。我们需要某种一网打尽的机制,就像我们在上一篇文章中使用的那样
非常感谢您的见解
$stateProvider
.state('main.view', {
url: '/_/:view/:id'
})
...
.state('main', {
url: '{path: nonURIEncoded}',
...
});