如何在腳本模塊外部的Sapper中訪問URL參數

假設您正在使用Sapper構建Svelte應用程序,並且有一個動態頁面路由,例如/routes/[id].svelte

您要獲取網址的動態部分(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>

免費下載我的苗條手冊


更多精妙的教程: