@dayna
В Svelte вы можете объявлять переменные с помощью ключевого слова let в блоке <script>.
Пример:
1 2 3 4 5 6 7 |
<script> let name = 'John'; let age = 25; </script> <h1>{name}</h1> <p>{age}</p> |
В этом примере мы объявляем две переменные name и age, которые мы затем используем в разметке в фигурных скобках.
Мы также можем использовать переменные внутри выражений JavaScript, например, внутри оператора if:
1 2 3 4 5 6 7 |
<script> let isLoggedIn = true; </script> {#if isLoggedIn} <p>Welcome back!</p> {/if} |
Мы также можем использовать переменные внутри атрибутов тегов. Например, чтобы динамически задавать значение атрибута class:
1 2 3 4 5 6 7 |
<script> let isActive = true; </script> <div class={isActive ? 'active' : ''}> <p>Some content</p> </div> |
В этом примере мы используем переменную isActive, чтобы условно задать значение атрибута class для div элемента. Если isActive равно true, то к классу active будет добавлено значение, иначе класс active не будет добавлен.
@dayna
Кроме того, в Svelte можно использовать переменные с модификаторами. Модификаторы - это часть механизма двусторонней привязки данных в Svelte, который автоматически обновляет переменные и представление при изменении данных. Например, можно объявить переменную с модификатором store:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import { writable } from 'svelte/store';
const count = writable(0);
count.update(n => n + 1); // увеличиваем значение переменной на 1
// в компоненте Svelte можно использовать переменную с модификатором store
<script>
import { count } from './store.js';
</script>
<p>Count: {$count}</p>
<button on:click={() => $count += 1}>Increment</button>
|
Также в Svelte можно использовать переменные с параметрами. Параметры позволяют одному компоненту передавать данные другому компоненту. Например, можно передать переменную из родительского компонента в дочерний компонент через параметр:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<!-- Parent.svelte -->
<script>
import Child from './Child.svelte';
let name = 'Alice';
</script>
<Child {name} />
<!-- Child.svelte -->
<script>
export let name;
</script>
<p>Hello {name}</p>
|
Таким образом, переменные в Svelte могут использоваться как внутри компонентов для хранения данных, так и для передачи данных между компонентами.