Svelte — это мощная платформа JavaScript, позволяющая создавать эффективные и реактивные пользовательские интерфейсы. Когда дело доходит до манипулирования и отображения данных, Svelte предоставляет множество методов, и одним из наиболее полезных из них является цикл foreach. В этой статье мы рассмотрим различные способы использования цикла foreach в Svelte, а также приведем примеры кода, которые помогут вам эффективно использовать эту функцию.
- Базовая итерация:
Самый простой способ использования foreach в Svelte — это перебор массива элементов. Вот пример:
<script>
let items = ['Apple', 'Banana', 'Orange'];
</script>
<ul>
{#each items as item}
<li>{item}</li>
{/each}
</ul>
- Индексирование.
Иногда вам может потребоваться доступ к индексу каждого элемента во время итерации. Для этого Svelte предоставляет удобный синтаксис:
<script>
let items = ['Apple', 'Banana', 'Orange'];
</script>
<ul>
{#each items as item, index}
<li>{index + 1}: {item}</li>
{/each}
</ul>
- Итерация по ключу:
Чтобы эффективно обновлять DOM при изменении массива, Svelte требует уникальный идентификатор для каждого элемента. Этого можно добиться с помощью атрибута «key»:
<script>
let items = [
{ id: 1, name: 'Apple' },
{ id: 2, name: 'Banana' },
{ id: 3, name: 'Orange' }
];
</script>
<ul>
{#each items as item (item.id)}
<li>{item.name}</li>
{/each}
</ul>
- Вложенная итерация.
В более сложных сценариях у вас могут быть вложенные массивы, требующие итерации. Svelte может справиться с этим, вложив циклы foreach:
<script>
let items = [
{ category: 'Fruits', list: ['Apple', 'Banana', 'Orange'] },
{ category: 'Vegetables', list: ['Carrot', 'Broccoli', 'Tomato'] }
];
</script>
<ul>
{#each items as { category, list }}
<li>{category}:</li>
<ul>
{#each list as item}
<li>{item}</li>
{/each}
</ul>
{/each}
</ul>
Цикл foreach — это важнейший инструмент в Svelte для перебора данных и динамического рендеринга контента. В этой статье мы рассмотрели различные методы использования foreach в Svelte, включая базовую итерацию, индексацию, итерацию по ключу и вложенную итерацию. Освоив эти методы, вы сможете обрабатывать широкий спектр сценариев манипулирования данными в своих приложениях Svelte.