スクリプトモジュールの外部でSapperのURLパラメータにアクセスする方法

Sapperを使用してSvelteアプリケーションを構築していて、たとえば動的なページルートがあるとします。/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ハンドブック


より洗練されたチュートリアル: