javascript - Angular 2可选路由参数

标签 javascript angular

在 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/

相关文章:

Javascript: "object properties"实例的空构造函数名称

javascript - 从浏览器返回 cordova 应用程序

angular - Angular 6 中的 anchor 片段

Angular Material md-select 下拉定位

node.js - 如何运行 "npm install"为旧的 Angular 项目创建 node_modules 文件夹?

angular - 隐藏密码字段内的显示眼睛图标 angular 6

javascript - 屏幕调整大小时重置切换(多种样式)

javascript - 改变 CoffeeScript 中的公共(public)变量

javascript - 解析 AJAX 请求的结果

javascript - Angular 2、DataTables.net 和使用 DataTables.net-bs 的分页