Cách truy cập tham số URL trong Sapper bên ngoài mô-đun tập lệnh

Giả sử bạn đang xây dựng một ứng dụng Svelte bằng Sapper và bạn có một tuyến trang động, chẳng hạn/routes/[id].svelte.

Bạn muốn lấy phần động của URL (idtrong trường hợp này), và bạn biết bạn có thể lấy nó trongpreload()chức năng trong<script context="module">một phần của thành phần:

<script context="module">
	export async function preload({ params }) {
		const { id } = params
	}
</script>

Nhưng vấn đề là bạn cần sử dụng nó bên ngoàipreload(), để thực hiện một cái gì đó khác.

Cách để làm như vậy là trả lại từpreloadvà xác định nó như một chỗ dựa của thành phần, bằng cách sử dụngexport *cú pháp.

Đây là một ví dụ:

<script context="module">
	export async function preload({ params }) {
		const { id } = params
		return { id }
	}
</script>

<script> export let id

if (typeof window !== ‘undefined’) { alert(id) } </script>

Tải xuống miễn phí của tôiSổ tay Svelte


Các hướng dẫn nhỏ gọn hơn: