了解如何使用Svelte模板中的循环
在Svelte模板中,您可以使用{#each}{/each}
句法:
<script>
let goodDogs = ['Roger', 'Syd']
</script>
{#each goodDogs as goodDog}
<li>{goodDog}</li>
{/each}
如果您熟悉其他使用模板的框架,则其语法非常相似。
您可以使用以下方法获取迭代的索引:
<script>
let goodDogs = ['Roger', 'Syd']
</script>
{#each goodDogs as goodDog, index}
<li>{index}: {goodDog}</li>
{/each}
(索引从0开始)
动态编辑列表中的删除和添加元素时,应始终在列表中传递标识符,以防止出现问题。
您可以使用以下语法进行操作:
<script>
let goodDogs = ['Roger', 'Syd']
</script>
{#each goodDogs as goodDog (goodDog)}
<li>{goodDog}</li>
{/each}
<!-- with the index -->
{#each goodDogs as goodDog, index (goodDog)}
<li>{goodDog}</li>
{/each}
您也可以传递一个对象,但是如果列表中每个元素都有唯一的标识符,则最好使用它:
<script>
let goodDogs = [
{ id: 1, name: 'Roger'},
{ id: 2, name: 'Syd'}
]
</script>
{#each goodDogs as goodDog (goodDog.id)}
<li>{goodDog.name}</li>
{/each}
<!-- with the index -->
{#each goodDogs as goodDog, index (goodDog.id)}
<li>{goodDog.name}</li>
{/each}
免费下载我的苗条手册
更多精妙的教程:
- Svelte入门-简短教程
- 如何在斯维尔特使用道具
- 如何在Svelte中导入组件
- 如何从Svelte组件导出函数和变量
- 苗条的模板:条件逻辑
- 如何按需重新渲染Svelte组件
- 苗条的插槽
- 如何在Svelte模板中添加评论
- 苗条的绑定
- 在Svelte中处理状态更新
- Svelte中的反应性陈述
- 苗条的生命周期事件
- 苗条的模板:循环
- 解决Svelte模板中的承诺
- 处理斯维尔特的活动
- 斯维尔特的跨组件状态管理
- 如何在脚本模块外部的Sapper中访问URL参数
- 如何在Svelte中动态应用CSS
- 如何在Sapper中重定向到URL
- 如何在Svelte模板中模拟for循环