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

SvelteKit页面load函数未触发,无法获取URL的slug参数

解决SvelteKit页面load函数未触发的问题

问题根源

你把load函数写在了+page.svelte的context="module"脚本里,这不符合SvelteKit的规则——页面的load函数必须单独放在**同目录下的+page.js(客户端/通用加载逻辑)或+page.server.js(仅服务端执行的加载逻辑)**文件中,+page.svelte里的module脚本不会触发load流程。

正确实现方式

  1. 在src/routes/categories/[slug]/目录下新建+page.js文件
  2. 在该文件中导出load函数,通过参数获取URL中的slug:
/** @type {import('./$types').PageLoad} */
export function load({ params }) {
  console.log('当前Slug:', params.slug);
  return {
    slug: params.slug
  };
}
  1. 在+page.svelte中接收load返回的数据:
<script>
  export let data;
</script>

<p>通过load获取的Slug:{data.slug}</p>
<p>wassap</p>

补充说明

  • 如果你的加载逻辑需要访问服务端专属资源(比如数据库、内部API),改用+page.server.js,这样代码不会暴露给客户端
  • SvelteKit会自动执行+page.js/+page.server.js里的load函数,无论是首次加载还是通过页面导航进入,执行结果都会以data属性传递给对应的+page.svelte组件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 01:01:14