假設您正在使用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>
免費下載我的苗條手冊
更多精妙的教程:
- Svelte入門-簡短教程
- 如何在斯維爾特使用道具
- 如何在Svelte中導入組件
- 如何從Svelte組件導出函數和變量
- 苗條的模板:條件邏輯
- 如何按需重新渲染Svelte組件
- 苗條的插槽
- 如何在Svelte模板中添加評論
- 苗條的綁定
- 在Svelte中處理狀態更新
- Svelte中的反應性陳述
- 苗條的生命週期事件
- 苗條的模板:循環
- 解決Svelte模板中的承諾
- 處理斯維爾特的活動
- 斯維爾特的跨組件狀態管理
- 如何在腳本模塊外部的Sapper中訪問URL參數
- 如何在Svelte中動態應用CSS
- 如何在Sapper中重定向到URL
- 如何在Svelte模板中模擬for循環