Skip to main content

Các route khác nhau trong ứng dụng của bạn thường có giao diện giống nhau. Thay vì lặp đi lặp lại trong mỗi component +page.svelte, ta nên sử dụng component +layout.svelte để áp dụng cho tất cả các route trong chính thư mục đó.

Trong ứng dụng này, chúng ta có hai route, src/routes/+page.sveltesrc/routes/about/+page.svelte, chứa thanh điều hướng giống nhau. Vậy nên ta hãy tạo một tệp mới, src/routes/+layout.svelte...

src/routes/
├ about/
│ └ +page.svelte
├ +layout.svelte
└ +page.svelte

...và di chuyển nội dung trùng lặp từ các file +page.svelte vào file mới +layout.svelte. Phần tử <slot></slot> là nơi nội dung của trang sẽ được render:

src/routes/+layout.svelte
<nav>
	<a href="/">home</a>
	<a href="/about">about</a>
</nav>

<slot></slot>

Một file +layout.svelte áp dụng cho mọi child route (định tuyến con hay route con), bao gồm cả +page.svelte cùng cấp (nếu nó tồn tại). Bạn có thể lồng layouts (các bố cục) theo bất kỳ độ sâu nào.

Tiếp theo: Route parameters (Tham số đường dẫn)

1
2
3
4
5
6
7
8
<nav>
	<a href="/">home</a>
	<a href="/about">about</a>
</nav>
 
<h1>home</h1>
<p>Đây là Trang chủ.</p>
 
initialising