Skip to main content

HTML には条件式やループのような ロジック を表現する方法がありません。Svelteにはあります。

条件付きでマークアップをレンダリングする場合は、そのマークアップを if ブロックで囲みます。count が 10 より大きいときに表示されるテキストを追加してみましょう:

App.svelte
<button on:click={increment}>
	Clicked {count}
	{count === 1 ? 'time' : 'times'}
</button>

{#if count > 10}
	<p>{count} is greater than 10</p>
{/if}

試してみてください。コンポーネントを更新し、ボタンをクリックしてみてください。

Next: Else blocks

1
2
3
4
5
6
7
8
9
10
11
12
13
<script>
	let count = 0;
 
	function increment() {
		count += 1;
	}
</script>
 
<button on:click={increment}>
	Clicked {count}
	{count === 1 ? 'time' : 'times'}
</button>
 
initialising