Как получить доступ к параметру URL в Sapper вне модуля скрипта

Предположим, вы создаете приложение Svelte с помощью Sapper, и у вас есть динамический маршрут страницы, например/routes/[id].svelte.

Вы хотите получить динамическую часть URL-адреса (idв этом случае), и вы знаете, что можете получить его вpreload()функция в<script context="module">часть компонента:

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

Но проблема в том, что его нужно использовать внеpreload(), чтобы выполнить что-то еще.

Это можно сделать, вернув его изpreload, и определите его как опору компонента, используя обычныйexport *синтаксис.

Вот пример:

<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>

Скачать мою бесплатнуюСправочник Svelte


Более стройные уроки: