36

我希望找到一种方法在 Svelte 3 中迭代 #each 块一定次数。在 Vue 中我会做这样的事情:

<li v-for="i in 3"><!-- somecontent --></li>

但据我了解,Svelte 使用 #eached 数组的 .length 属性处理循环的方式大不相同。有什么方法可以在 Svelte 中实现这样的效果吗?

{#each 3 as i}
  <li><!-- somecontent --></li>
{/if}
4

3 回答 3

75

您可以使用{#each ...},例如:

{#each Array(3) as _, i}
    <li>{i + 1}</li>
{/each}
于 2019-10-03T07:18:13.847 回答
62

一个#each标签可以循环任何带有长度属性的东西,所以:

{#each {length: 3} as _, i}
    <li>{i + 1}</li>
{/each}

如果您愿意,也可以使用。

于 2020-04-09T11:51:41.627 回答
2

a我像这样b在 Svelte往返旅行

{#each Array.from(Array(b+1).keys()).slice(a) as i }
    <h1>{i}</h1>                    
{/each}

示例(1 到 100):

{#each Array.from(Array(100+1).keys()).slice(1) as i }
    <h1>{i}</h1>                    
{/each}
于 2021-12-18T15:13:21.023 回答