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

Angular中如何使用相对路由修改URL路径中的页码参数

你之前的写法报错的核心原因是:已经将relativeTo指定为当前路由的父级(对应/videos路径段),再加../会回退到/videos的上一级路径,最终生成的路径无法匹配现有路由规则,因此抛出错误。

以下是两种可直接使用的实现方案:

方案1:调整相对路径层级(最简写法)

既然定位到了/videos对应的父路由层级,直接传入目标页码即可,不需要额外的回退层级:

// 当前处于 /videos/5 路由下,pageNumber=3时跳转后路径为 /videos/3
this.router.navigate([pageNumber], { relativeTo: this.activatedRoute.parent });

适用场景:路由配置为videos/:page平级结构,或者videos为父路由、:page为子路由的嵌套结构。

方案2:通用无依赖写法(无需硬编码任何路径)

如果不想绑定路由嵌套结构,可以直接提取当前URL的路径段,替换最后一段的页码即可,适配任意前缀路径:

// 截取除最后一段页码外的所有路径段,拼接新页码
const pathSegments = this.activatedRoute.snapshot.url.slice(0, -1).map(item => item.path);
this.router.navigate([...pathSegments, pageNumber]);

适用场景:所有将页码作为路径最后一段的路由场景,不需要提前知道前缀路径的具体内容。


内容的提问来源于stack exchange,提问作者Enrico

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 23:27:01