Angular 2布线中是否可以有可选的布线参数?我在RouteConfig中try 了ANGLE 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

Javascript相关问答推荐

基于优先级的队列

jsfat的黑色画布输出

判断现代浏览器中的点击是否由touch 触发

当我使用jQuery时,我的图标显示为[对象对象]

如何在react-Router-dom 6中Forking 路由?

如何避免使用ajax在Vue 3合成API中重定向

Angular:ng-contract未显示

创建私有JS出口

RxJS setTimeout操作符等效

如何在Angular中插入动态组件

如何使用JavaScript将文本插入空div

当Redux提供程序访问Reduxstore 时,可以安全地从Redux提供程序外部调用钩子?

Prisma具有至少一个值的多对多关系

优化Google Sheet脚本以将下拉菜单和公式添加到多行

我在Django中的视图中遇到多值键错误

正则表达式,允许我匹配除已定义的子字符串之外的所有内容

禁用.js文件扩展名并从目录导入隐式根index.js时,找不到NodeJS导入模块

如何使用TypeScrip设置唯一属性?

如何在.NET Core中将chtml文件链接到Java脚本文件?

有没有一种直接的方法可以深度嵌套在一个JavaScript对象中?