mirror of https://github.com/sveltejs/svelte
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
769 B
29 lines
769 B
6 years ago
|
---
|
||
|
title: Each blocks
|
||
|
---
|
||
|
|
||
|
If you need to loop over lists of data, use an `each` block:
|
||
|
|
||
|
```html
|
||
|
<ul>
|
||
|
{#each cats as cat}
|
||
|
<li><a target="_blank" href="https://www.youtube.com/watch?v={cat.id}">
|
||
|
{cat.name}
|
||
|
</a></li>
|
||
|
{/each}
|
||
|
</ul>
|
||
|
```
|
||
|
|
||
|
> The expression (`cats`, in this case) can be any array or array-like object (i.e. it has a `length` property). You can loop over generic iterables with `each [...iterable]`.
|
||
|
|
||
|
You can get the current *index* as a second argument, like so:
|
||
|
|
||
|
```html
|
||
|
{#each cats as cat, i}
|
||
|
<li><a target="_blank" href="https://www.youtube.com/watch?v={cat.id}">
|
||
|
{i + 1}: {cat.name}
|
||
|
</a></li>
|
||
|
{/each}
|
||
|
```
|
||
|
|
||
|
If you prefer, you can use destructuring — `each cats as { id, name }` — and replace `cat.id` and `cat.name` with `id` and `name`.
|