当前位置: 首页 > 面试题库 >

Angular 2可选路线参数

锺离韬
2023-03-14
问题内容

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) {
        ...
    }
}


 类似资料:
  • 所以我有一些路线,比如<code>/category/tech</code>和<code</categority/tech/new<code>和<code>/category/tech/old</code>等等 他们都使用 或者我必须分别定义它们,就像

  • 如何在angular2的路由中定义可选参数。我的路由配置如下: 所以问题是,每当我使用第一种方法时,参数<code>blablabla</code>都可以正常工作,因为在路由时,我定义了参数<code>xyz</code>但是在第二种方法的情况下,我不想发送参数,所以URL变为 这是第一次很好,但刷新页面后,没有显示整个窗口是空白的,没有内容。那么有没有办法在angular2中路由时提供可选参数。

  • 问题内容: 我有一条看起来像这样的路线: 但是,这行不通-如果我打电话,它会到达路线,但是如果我打电话,它不会。 是否可以有一个可选的splat参数,或者我必须使用正则表达式来检测到这一点? 编辑 : 更清楚地说,这是我要达到的要求: 第一和第二个参数是 必需的 第一个参数是静态的,第二个参数是命名的参数。 可以附加任意数量的 可选 附加参数,并且仍然可以实现。 问题答案: 这适用于Express

  • 我试图创建一个符合以下所有URL的路由: 这是我目前的路线: 根据关于https://github.com/rackt/react-router/blob/master/docs/guides/basics/RouteMatching.md 此路由应该完全匹配,但与上面的URL都不匹配。 我需要做什么来支持这个可选参数? 我在React路由器版本0.13.3,如果我删除,那么我可以匹配第一个URL

  • 是否可以在 Angular 2 路由中具有可选的路由参数?我在RouteConfig中尝试了Angular 1.x语法,但收到以下错误: “原始异常:路径“/ user /: id ?“包含”?

  • 例如,在具有分页列表的路由上,网址可能如下所示,表示我们已加载第二个网页: 使用指令和来传递查询参数。例如: 或者,我们可以使用服务通过JS跳转: 读取查询参数 See Official Documentation on Query Parameters