В Svelte в настоящее время нет специального синтаксиса для разрывов или диапазонов. Распространенной идиомой является использование объекта {length: N}
в качестве параметра #each
, который обычно работает лучше, чем создание новых массивов при каждом рендеринге.
{#each {length: 4} as _, i} {items[i]} {/each}
Вот некоторые другие шаблоны, которые работают:
<script>
let items = ['a', 'b', 'c', 'd', 'e'];
$: filteredItems = items.slice(0, 4);
const filterItems = (i) => i.slice(0, 4);
</script>
<div>
{#each {length: 4} as _, i}
{items[i]}
{/each}
</div>
<div>
{#each items.slice(0, 4) as item}
{item}
{/each}
</div>
<div>
{#each filteredItems as item}
{item}
{/each}
</div>
<div>
{#each filterItems(items) as item}
{item}
{/each}
</div>