SvelteKit 2.0 破坏性变更:`goto` 的 `noScroll`/`keepFocus` 合并为 `reset` 选项,链接属性统一为 `data-sveltekit-reset`
Web框架后端前端【免费下载链接】kitweb development, streamlined项目地址https://gitcode.com/gh_mirrors/kit/kit点击查看免费下载导读本文基于 SvelteKit 官方仓库中的变更集文档.changeset/pre/rename-noscroll-keepfocus-reset.md深入讲解 SvelteKit 2.x 引入的一项破坏性breakingAPI 变更程序化导航goto的noScroll与keepFocus两个选项被合并为单一的reset选项同时 HTML 链接上的data-sveltekit-noscroll与data-sveltekit-keepfocus属性被统一为data-sveltekit-reset。读完本文你将掌握新 API 的完整语法、默认行为、属性继承规则、开发模式下的弃用提示与迁移方案并了解底层源码与测试用例如何印证这一行为。变更概览两个选项合并为一个reset原变更集文档全文如下breaking: replace thenoScrollandkeepFocusoptions ofgotowith a singleresetoption, and thedata-sveltekit-noscrollanddata-sveltekit-keepfocusattributes withdata-sveltekit-reset其核心含义包含两层goto(url, options)编程式导航原先通过noScroll: true禁止滚动复位、通过keepFocus: true保留焦点现在统一用一个reset布尔选项表达。声明式链接属性原先在a上书写data-sveltekit-noscroll或data-sveltekit-keepfocus来控制导航后的滚动与焦点行为现在统一改为data-sveltekit-reset。这一设计将导航完成后是否恢复默认的滚动位置与焦点收敛为单一语义reset为true时恢复为false时保持现状。无论使用goto还是点击链接开发者只需回答一个问题——这次导航要不要重置视图状态。为什么合并从源码注释可以看出reset的语义被精确定义为导航完成后将滚动位置重置到页面顶部或 URL 中#hash对应的元素并将焦点重置到body或带autofocus的元素而当reset: false时当前的滚动位置和焦点元素原样保留见 navigation/public.d.ts 中的GotoOptions.reset注释。也就是说旧的noScroll与keepFocus在语义上高度重叠——它们本质上都在描述导航后是否恢复浏览器的默认视图状态因此合并为单一选项可以显著降低 API 的学习与记忆成本。goto新选项reset新语法import { goto } from $app/navigation; // 导航到 /about完成后恢复默认滚动位置与焦点默认行为 await goto(/about); // 导航到 /about但保持当前滚动位置与焦点不变 await goto(/about, { reset: false }); // 浅层更新 URL 与 page.state不做真正导航 await goto(/about, { shallow: true, state: { tab: details } });默认值与边界情况依据 navigation/public.d.ts 中的类型注释reset默认值为true即普通导航完成后会重置滚动与焦点当shallow: true时默认值为false——浅层更新只改变 URL 与page.state不触发真正导航自然不应重置视图状态。再看 client.js 中goto的实现当传入shallow: true时调用update_state并显式传入reset: opts.reset ?? false印证了上述默认值规则而常规导航路径则走_goto完成完整的导航流程。开发模式下的硬性报错为了帮助开发者尽早发现遗留代码SvelteKit 在开发模式DEV下做了严格的校验如果goto的选项对象中仍包含noScroll或keepFocus会直接抛出错误见 client.jsThe goto(..., { noScroll: true, keepFocus: true }) options have been replaced by reset: false注意这里不是警告而是throw new Error——在开发环境中任何继续使用旧选项的调用都会立即失败从而强制开发者完成迁移在生产构建非 DEV中该检查会被剥离不影响运行时性能。链接属性data-sveltekit-reset新语法在 HTML 链接或表单等可导航元素上旧属性对应的新写法如下!-- 保持滚动位置与焦点不变等价于旧的>div>a idone href/data-sveltekit/reset/target>赞分享Web框架后端前端【免费下载链接】kitweb development, streamlined项目地址https://gitcode.com/gh_mirrors/kit/kit点击查看免费下载相关推荐SvelteKit goto 破坏性变更解析调用不存在的路由时将拒绝导航SvelteKit goto 破坏性变更解析调用不存在的路由时将拒绝导航 本篇文章围绕 SvelteKit 仓库中的 changeset 文件 goto erWeb框架后端前端ONNX部署全攻略bge-large-en-v1.5-openmind模型的高效推理与生产环境集成ONNX部署全攻略bge large en v1.5 openmind模型的高效推理与生产环境集成 想要在生产环境中快速部署bge large en v1.5Web框架后端前端SvelteKit 破坏性变更解读preloadCode 参数从路径名迁移为路由 IDRoute IDSvelteKit 破坏性变更解读 preloadCode 参数从路径名迁移为路由 IDRoute ID 本篇文章聚焦 SvelteKit 核心运行时Web框架后端前端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

openclaw-cn 装完起 18789,OpenClaw onboard 的模型认证改填 TaoToken

openclaw-cn 装完起 18789,OpenClaw onboard 的模型认证改填 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 0:13:08 阅读更多 →
wordpress语言系统搭建成本全解析:服务器选型避坑与真实报价

wordpress语言系统搭建成本全解析:服务器选型避坑与真实报价

wordpress语言系统搭建成本全解析:服务器选型避坑与真实报价 很多刚入行做站的朋友,一上来就问我: wordpress语言系统多少钱? 这问题问得太笼统,就像问“装修一套房多少钱”一样,没人能直接给你个准数。 最让人头疼的不是软件本身(毕竟 WordPress 是开源免费的),而是…

2026/9/21 0:12:17 阅读更多 →
CC Switch 接 TaoToken:一次点击切到 DeepSeek V4.1 Flash

CC Switch 接 TaoToken:一次点击切到 DeepSeek V4.1 Flash

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 0:12:08 阅读更多 →

最新新闻

Hydra:企业级AI实验操作系统的配置驱动架构解析

Hydra:企业级AI实验操作系统的配置驱动架构解析

1. 项目概述:这不是又一个配置工具,而是实验工程化的底层操作系统Hydra 不是 Python 里那个用来读 YAML 文件的“小工具”,它是 Meta 内部打磨近五年、支撑 Facebook 全量 AI 实验调度的配置驱动型实验操作系统。我第一次在 PyTorch Lightnin…

2026/9/21 2:43:30 阅读更多 →
运维大模型部署实战:从原理到上线避坑指南

运维大模型部署实战:从原理到上线避坑指南

最近各大运维群都在刷“大模型”三个字,一开始我也没太当回事。直到有天领导把我叫过去,说公司想上一个大模型项目,让我先调研一下可行性。我当时心里直犯嘀咕:我是运维,不是算法工程师,大模型关我什么事&a…

2026/9/21 2:43:30 阅读更多 →
用SQL调用AI Agent:让数据库成为企业智能分析入口

用SQL调用AI Agent:让数据库成为企业智能分析入口

上个月业务方找我要数,提了一个让我头大的需求:“把华东区上季度签单客户都拉出来,顺便标出哪些是从竞品那边抢回来的,再分析一下这批客户的采购偏好。”放在以前,光是“从竞品流失抢回”这个判断,就得先跟…

2026/9/21 2:43:30 阅读更多 →
Wasmtime 编译器混沌模式探秘:cranelift-control 控制平面的设计与 fuzzing 实践

Wasmtime 编译器混沌模式探秘:cranelift-control 控制平面的设计与 fuzzing 实践

Wasmtime 编译器混沌模式探秘:cranelift-control 控制平面的设计与 fuzzing 实践 【免费下载链接】wasmtime A lightweight WebAssembly runtime that is fast, secure, and standards-compliant 项目地址: https://gitcode.com/gh_mirrors/wa/wasmtime 导读…

2026/9/21 2:43:30 阅读更多 →
labelme 实例分割标注与 VOC/COCO 数据集转换实战指南

labelme 实例分割标注与 VOC/COCO 数据集转换实战指南

labelme 实例分割标注与 VOC/COCO 数据集转换实战指南 【免费下载链接】labelme Image annotation with Python. Supports polygon, rectangle, circle, line, point, and AI-assisted annotation. 项目地址: https://gitcode.com/gh_mirrors/la/labelme 本指南以仓库中…

2026/9/21 2:43:30 阅读更多 →
DeepSeek 报错 unknown variant ‘system‘?TaoToken 这样改配置

DeepSeek 报错 unknown variant ‘system‘?TaoToken 这样改配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 2:42:30 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →