"Angular 2可选路由参数"

17 浏览
0 Comments

"Angular 2可选路由参数"

在Angular 2路由中是否可能存在可选路由参数?我在RouteConfig中尝试使用Angular 1.x语法,但收到以下错误信息:

\"原始异常:路径“/user/:id?”包含“?”在路由配置中不允许使用。\"

@RouteConfig([
{
    path: '/user/:id?',
    component: User,
    as: 'User'
}])

admin 更改状态以发布 2023年5月21日
0
0 Comments

{path: 'users', redirectTo: 'users/', pathMatch: 'full'},
{path: 'users/:userId', component: UserComponent}

这样当添加参数时,组件不会重新渲染。

0
0 Comments

您可以定义带参数和不带参数的多个路由:

@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

0