在 Angular 2 路由中是否可以有一个可选的路由参数?我在 RouteConfig 中尝试了 Angular 1.x 语法,但收到以下错误:
"ORIGINAL EXCEPTION: Path "/user/:id?" contains "?" which is not allowed in a route config."
@RouteConfig([
{
path: '/user/:id?',
component: User,
as: 'User'
}])
最佳答案
你可以定义多 strip 参数和不带参数的路由:
@RouteConfig([
{ path: '/user/:id', component: User, name: 'User' },
{ path: '/user', component: User, name: 'Usernew' }
])
并处理组件中的可选参数:
constructor(params: RouteParams) {
var paramId = params.get("id");
if (paramId) {
...
}
}
另请参阅相关的 github 问题:https://github.com/angular/angular/issues/3525
关于javascript - Angular 2可选路由参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34208745/