当前位置: 首页 > news >正文

(三)SvelteKit教程:layout 文件

(三)SvelteKit教程:layout 文件

(1) 设置 layout 文件

我们如果需要添加一些统一的布局文件,我们可以在 routes 文件夹里面添加 layout.svelte 文件,比如我们需要添加 header 和 footer 文件,可以增加 routes/layout.svelte 文件,内容如下:

<header class="layout-header">Header</header>
<slot></slot>
<footer class="layout-footer">Footer</footer><style>.layout-header {background-color: #264653;color: #f4a261;font-size: 30px;text-align: center;padding: 10px;}.layout-footer {background-color: #264653;color: #e9c46a;font-size: 30px;text-align: center;padding: 10px;}
</style>

如果你想在特定的子文件里面进行添加,比如 /about 路由,那么我们可以添加在 /about/layout.svelte ,那么这个 layout 文件只作用在 /about 路由下面

(2)忽略一些 Layouts 文件

文件结构:

routes
├── +layout.svelte
├── +page.svelte
├── about
│   ├── +layout.svelte
│   ├── +page.svelte
│   ├── first
│   │   └── +page@about.svelte
│   └── second
│       ├── +layout.svelte
│       ├── +page.svelte
│       ├── a
│       │   └── +page@about.svelte
│       └── b
│           └── +page@.svelte

假设如果你不想在second/a 中用 second/layout.svelte 的布局文件,那么我们就可以在 a/page.svelte 中添加 @about 符号,定位到 about/layout.svelte 布局文件。如果你想直接定位到根目录下,那么你就可以直接用 @ 文件,而不需要添加任何别的后缀。

(3) 统一组件

如果你想把一些公用的组件进行抽离,我们可以将他们都放到 src/lib 文件夹下面,比如我们将 header 和 footer 都放到lib文件夹下面。

├── lib
│   ├── footer.svelte
│   └── header.svelte
└── routes├── +layout.svelte├── +page.svelte├── about│   ├── +layout.svelte│   ├── +page.svelte│   ├── first│   │   └── +page@about.svelte│   └── second│       ├── +layout.svelte│       ├── +page.svelte│       ├── a│       │   └── +page@about.svelte│       └── b│           └── +page@.svelte

之后再 routes/layout.svelte 文件夹里面,我们就可以直接导入,这样非常方便。如下代码:

<script>import Header from '$lib/header.svelte';import Footer from '$lib/footer.svelte';
</script><Header />
<slot></slot>
<Footer />

相关文章:

  • 通过Socket通信实现局域网下Amov无人机连接与数据传输
  • PHP环境搭建之使用PhpStudy
  • Gradle 自动化项目构建-Gradle 核心之 Project
  • 一文学会linux vim操作
  • Reddit、Discord等社媒网站抓取总结:如何更高效实现网页抓取?
  • PyQT5 键盘模拟/鼠标连点器的实现
  • 设计模式(七)创建者模式之建造者模式
  • 树莓派4B学习笔记11:PC端网线SSH连接树莓派_网线连接请求超时问题解决
  • 如何在Java中使用正则表达式进行文本处理
  • 【elementui源码解析】如何实现自动渲染md文档-第四篇
  • 监督学习:从数据中学习预测模型的艺术与科学
  • 《C语言程序设计》考试大纲-硕士研究生入学考试
  • 计网重点面试题-TCP三次握手四次挥手
  • 数据分析-相关性
  • CentOS 7 安装部署Cassandra4.1.5
  • 「译」Node.js Streams 基础
  • Angular数据绑定机制
  • eclipse(luna)创建web工程
  • ECMAScript6(0):ES6简明参考手册
  • ES6之路之模块详解
  • java8-模拟hadoop
  • JavaScript创建对象的四种方式
  • MQ框架的比较
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • SegmentFault 2015 Top Rank
  • session共享问题解决方案
  • SQLServer插入数据
  • vue--为什么data属性必须是一个函数
  • 诡异!React stopPropagation失灵
  • 精彩代码 vue.js
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 如何胜任知名企业的商业数据分析师?
  • 设计模式 开闭原则
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​什么是bug?bug的源头在哪里?
  • # .NET Framework中使用命名管道进行进程间通信
  • #{} 和 ${}区别
  • #100天计划# 2013年9月29日
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • (1)(1.13) SiK无线电高级配置(六)
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (9)目标检测_SSD的原理
  • (BFS)hdoj2377-Bus Pass
  • (C++)八皇后问题
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (接口封装)
  • (每日一问)基础知识:堆与栈的区别