Skip to main content
Svelte 基础
介绍
响应式
属性
逻辑
事件
绑定
类和样式
Actions
过渡动画
Svelte 进阶
高级响应性
复用内容
Motion
高级绑定
高级过渡效果
Context API
特殊元素
<script module>
后续步骤
SvelteKit 基础
介绍
路由
加载数据
请求头和 Cookie
共享模块
表单
API 路由
$app/state
错误和重定向
SvelteKit 进阶
钩子函数
页面选项
链接选项
高级路由
高级加载
环境变量
结论

路由的第一章中,我们学习了如何创建带有动态参数的路由。

有时候让参数变成可选的会很有帮助。一个经典的例子是当你使用路径名来确定语言环境时 — /fr/.../de/... 等等 — 但你同时也想要有一个默认的语言环境。

要实现这个,我们使用双括号。将 [lang] 目录重命名为 [[lang]]

此时应用程序会构建失败,因为 src/routes/+page.sveltesrc/routes/[[lang]]/+page.svelte 都会匹配 /。删除 src/routes/+page.svelte。(你可能需要重新加载应用程序来从错误页面中恢复)。

最后,编辑 src/routes/[[lang]]/+page.server.js 来指定默认的语言环境:

src/routes/[[lang]]/+page.server
const greetings = {
	en: 'hello!',
	de: 'hallo!',
	fr: 'bonjour!'
};

export function load({ params }) {
	return {
		greeting: greetings[params.lang ?? 'en']
	};
}

在 GitHub 编辑此页面

上一页 下一页
1
2
<h1>hello!</h1>