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

SvelteKit中如何让a href跳转至路由的不同分支?

SvelteKit 跨路由分支跳转问题解决方案

直接解决方法:使用绝对路径

你遇到的问题是因为用了相对路径,浏览器会自动拼接当前页面的路由前缀。只要把a标签的href改成以斜杠/开头的绝对路径就行,比如:

<a href="/article/category/xxx/sub6">查看文章</a>

这样就会从网站根路由开始解析目标地址,不会带上/dashboard/page/[pagenum]的前缀。

SvelteKit 常规处理方式

如果需要在跳转前做额外逻辑(比如验证用户权限、保存表单数据),可以用SvelteKit官方提供的goto函数:

  1. 先导入导航函数:
import { goto } from '$app/navigation';
  1. 在点击事件中调用:
<button on:click={() => goto('/article/category/xxx/sub6')}>查看文章</button>

这种方式属于客户端导航,比原生a标签跳转更贴合SvelteKit的路由体系,还能配合路由守卫实现更复杂的跳转控制。

另外,直接使用SvelteKit的<a>标签(和原生a标签用法一致),只要保证href是绝对路径,就会自动触发客户端导航,无需额外配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 03:34:54