Skip to main content
Svelte基础
介绍
响应
属性Props
逻辑表达式
事件
绑定
Classes和样式
动作Actions
Transitions
Advanced Svelte
Advanced reactivity
Reusing content
Motion
Advanced bindings
Advanced transitions
Context API
Special elements
<script module>
Next steps
Basic SvelteKit
Introduction
Routing
Loading data
Headers and cookies
Shared modules
Forms
API routes
$app/state
Errors and redirects
Advanced SvelteKit
Hooks
Page options
Link options
Advanced routing
Advanced loading
Environment variables
Conclusion

HTML不支持逻辑表达式,像条件判断、循环, 它都不支持。但是强大又贴心的Svelte可以,快夸我,夸我❤️

HTML doesn’t have a way of expressing logic, like conditionals and loops. Svelte does.

为了按条件渲染标签我们使用if代码块。 举个🌰: 当count大于10时我们显示些文本。

To conditionally render some markup, we wrap it in an if block. Let’s add some text that appears when count is greater than 10:

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

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

可以试下多点击几下按钮看下变化。 小主可以把10改成3这样可以少点击几次就能看到全部效果,省的累到了。

Try it — update the component, and click on the button a few times.

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>