角度 2 可选路由参数
2022-08-30 00:37:41
是否可以在 Angular 2 路由中具有可选的路由参数?我在RouteConfig中尝试了Angular 1.x语法,但收到以下错误:
“原始异常:路径 ”/user/:id?“ 包含路由配置中不允许的 ”?“。
@RouteConfig([
{
path: '/user/:id?',
component: User,
as: 'User'
}])
是否可以在 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
{path: 'users', redirectTo: 'users/', pathMatch: 'full'},
{path: 'users/:userId', component: UserComponent}
这样,在添加参数时就不会重新呈现组件。