學習如何在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}
<!-- 同時使用索引 -->
{#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}
<!-- 同時使用索引 -->
{#each goodDogs as goodDog, index (goodDog.id)}
<li>{goodDog.name}</li>
{/each}