Template-Syntax von Svelte¶
Ausdrücke
<p>Du bist {age} Jahre alt.</p>
<p>Die Volljährigkeit gilt in deinem Land ab {legalAge + '.'}</p>
<p>Du hast: {hasMoneyLeft ? 'Guthaben frei' : 'KEIN Guthaben'}</p>
<p>Letzte Bestellung: {user.findLastOrder()}</p>
Conditionals
<!-- Konditionales Hinzufuegen oder Entfernen: -->
{#if userAge >= 18}
<p>Du bist voll geschäftsfähig!</p>
{:else if userAge >= 7}
<p>Du bist beschränkt geschäftsfähig.</p>
{:else}
<p>Du darfst noch nichts kaufen.</p>
{/if}
v-show
gibt es in Svelte nicht, daher müssen wir eine manuelle Stilregel
definieren:
<!-- Konditionales Ein- und Ausblenden eines Elements: -->
<div hidden={!showEmailAddress}>{emailAddress}</div>
<style>
[hidden] {
display: none !important;
}
</style>
Zwei-Wege-Binding
<input type="password" bind:value={password} />
Schleifen
<ul>
{#each items as item, index (index)}
<li>{item}</li>
{/each}
</ul>
Attribut-Bindings
<select disabled={userAge < 18}>
{#each alcoholicItems as item, i (i)}
<option>{item}</option>
{/each}
</select>
Events
<button on:click={cancelOrder}>Bestellung stornieren</button>
<h1>Registrieren</h1>
<form on:submit|preventDefault={register}>...</form>