Angular 2 路由中是否可以有一个可选的路由参数?我在 RouteConfig 中尝试了 Angular 1.x 语法,但收到以下错误:
“原始异常:路径“/user/:id?”包含“?”,这在路由配置中是不允许的。”
@RouteConfig([ { path: '/user/:id?', component: User, as: 'User' }])
您可以定义多个带参数和不带参数的路由:
@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