Back to Svelte

31 Legacy Svelte Self

documentation/docs/99-legacy/31-legacy-svelte-self.md

3.59.2724 B
Original Source

The <svelte:self> element allows a component to include itself, recursively.

It cannot appear at the top level of your markup; it must be inside an if or each block or passed to a component's slot to prevent an infinite loop.

svelte
<script>
	export let count;
</script>

{#if count > 0}
	<p>counting down... {count}</p>
	<svelte:self count={count - 1} />
{:else}
	<p>lift-off!</p>
{/if}

[!NOTE] This concept is obsolete, as components can import themselves:

svelte
<!--- file: App.svelte --->
<script>
	import Self from './App.svelte'
	export let count;
</script>

{#if count > 0}
	<p>counting down... {count}</p>
	<Self count={count - 1} />
{:else}
	<p>lift-off!</p>
{/if}