新闻详情

新闻详情

首页 / 资讯中心 / 详情

SvelteKit 2.0 破坏性变更:`goto` 的 `noScroll`/`keepFocus` 合并为 `reset` 选项,链接属性统一为 `data-sveltekit-reset`

发布时间:2026/9/21 0:12:47来源:尧图网络
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),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

从400页PPT到实战:MATLAB高效学习的正确打开方式 2026/9/21 0:57:53

从400页PPT到实战:MATLAB高效学习的正确打开方式

简介:这份《MATLAB 语言及其应用》教学课件共 410 页,适合高等院校本科生、研究生以及刚接触科学计算的工程技术人员作为入门学习材料。课件从 MATLAB 的发展历史、产品家族和语言特点入手,逐步讲解桌面环境、数据可视化、数值计算的基本步骤…

阅读更多 →
大学物理下册期末复习课件:振动波动光学热学相对论量子物理模块化梳理 2026/9/21 0:57:53

大学物理下册期末复习课件:振动波动光学热学相对论量子物理模块化梳理

简介:这份《大学物理下册总复习总结》PPT课件主要面向正在备考的本科生以及需要快速提炼电磁学知识脉络的学习者,适合期末冲刺与考前串讲。课件包含31页结构化幻灯片,其中系统覆盖静止电荷的电场、库仑定律、高斯定理、电通量、电势与叠加原理…

阅读更多 →
MultipartFile重复读取难题:三种方案彻底解决Spring Boot文件上传流只能读一次的问题 2026/9/21 0:57:53

MultipartFile重复读取难题:三种方案彻底解决Spring Boot文件上传流只能读一次的问题

能不能在同一个请求里把一个 MultipartFile 连续读两遍?我最早遇到这个问题,是在做一个导入功能的时候。需求本身很简单:先读 Excel 校验模板格式,校验通过之后再正式解析数据入库。第一版代码写得也很快,校验逻辑读一…

阅读更多 →
OpenResearch开放研究实践指南:从可复现实验到协作工作流搭建 2026/9/21 0:57:53

OpenResearch开放研究实践指南:从可复现实验到协作工作流搭建

接到这个选题的时候,我第一反应是:OpenResearch 这名字太容易被误会了。有人以为它是个开源软件仓库,有人觉得它是一本开放获取期刊,还有人直接把它和某个研究院的官网画等号。实际上,OpenResearch 这个词在当下技术圈…

阅读更多 →
Kriging代理模型Matlab实现:从原理到代码的仿真优化加速指南 2026/9/21 0:57:53

Kriging代理模型Matlab实现:从原理到代码的仿真优化加速指南

简介:一套基于Matlab实现的Kriging代理模型工具包,面向从事工程优化、仿真分析、地质评估及数据预测的科研人员与工程师,针对复杂函数逼近和高成本仿真替代需求,提供从数据准备、相关模型选择、参数训练到不确定性量化的完整流程实…

阅读更多 →
RAGFlow v0.25.0 源码镜像构建:三层容器化与生产级部署详解 2026/9/21 0:54:53

RAGFlow v0.25.0 源码镜像构建:三层容器化与生产级部署详解

1. 项目概述:为什么需要亲手构建 RAGFlow v0.25.0 的源码镜像RAGFlow 是当前中文 RAG(检索增强生成)领域里少有的、真正把“开箱即用”和“深度可控”同时做扎实的开源项目。它不像某些框架只提供抽象接口,也不像部分工具堆砌功能…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞