Skip to main content

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

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

App
<button onclick={increment}>
	Clicked {count}
	{count === 1 ? 'time' : 'times'}
</button>

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

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

Edit this page on GitHub

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