You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular中直接粘贴含子路由参数的外部URL时丢失orderId,无法加载订单详情子组件的问题求助

Angular中直接粘贴含子路由参数的外部URL时丢失orderId,无法加载订单详情子组件的问题求助

大家好,我最近在Angular项目里遇到了一个路由相关的问题,卡了好一阵了,想请教下各位大佬。

具体情况是这样的:

  • 在App内部点击跳转时,URL http://www.example.com/#/orders/new/today/3640963 能正常打开「新建标签页」并且加载对应的订单详情子视图,完全没问题。
  • 但如果我把这个URL复制出来,在新浏览器窗口直接粘贴访问(也就是从App外部直接访问这个子视图),URL会被自动跳转到 http://www.example.com/#/orders/new/today,末尾的orderId参数直接丢失了,导致订单详情子组件根本加载不出来。

以下是我当前的路由配置和Resolver代码:

路由配置(routes.ts)

{ 
  path: ':tab/:date', 
  component: OrdersComponent, 
  children: [ 
    { 
      path: ':orderId', 
      component: OrderDetailsComponent, 
      resolve: {order: orderDetailsResolver} 
    } 
  ] 
}

订单详情Resolver代码

export const orderDetailsResolver: ResolveFn<myType> = ( 
  route: ActivatedRouteSnapshot, 
  _state: RouterStateSnapshot, 
) => { 
  return inject(OrdersService).getOrder(route.paramMap.get('orderId')!); 
};

我想实现的是,哪怕直接从外部粘贴带orderId的完整URL,也能正常加载对应的订单详情子组件,不会丢失参数。请问我应该怎么调整才能解决这个问题呢?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 10:04:38