跳到主要內容

<svelte:element>

<svelte:element this={expression} />

<svelte:element> 元素讓您可以渲染在撰寫時未知的元素,例如來自 CMS 的元素。任何屬性和事件監聽器都會應用到該元素。

唯一支援的綁定是 bind:this,因為 Svelte 的內建綁定不適用於通用元素。

如果 this 的值為 nullish,則不會渲染該元素及其子元素。

如果 this 是一個空元素 (例如,br) 的名稱,並且 <svelte:element> 具有子元素,則在開發模式下會拋出執行階段錯誤

<script>
	let tag = $state('hr');
</script>

<svelte:element this={tag}>
	This text cannot appear inside an hr element
</svelte:element>

Svelte 會盡力從元素的周圍環境推斷出正確的命名空間,但並非總是可行。您可以使用 xmlns 屬性明確指定

<svelte:element this={tag} xmlns="http://www.w3.org/2000/svg" />

this 必須是有效的 DOM 元素標籤,像 #textsvelte:head 之類的東西將無法運作。

在 GitHub 上編輯此頁面

上一個 下一個