我正在嘗試使用嵌套 JSON 定位svelte:self并遇到一個問題,如果添加到 JSON 中的任何新添加的條目發生在 JSON 結構樹的下方,它們將導致洗掉任何新添加的條目。這是使用演示的示例 REPLsvelte:self。我顯然在如何指定在 JSON 中添加的位置時遺漏了一些東西?
<script>
let files = [
{
name: 'entry 1',
files: [
{
name: 'nested entry'
}
]
},
{
name: 'entry 2'
}
];
function add() {
files = files.concat({name: 'new item'})
}
</script>
<ul>
{#each files as file}
<li>
{#if file.files}
<svelte:self {...file}/>
{:else}
<File {...file}/>
{/if}
</li>
{/each}
<li>
<button on:click={() => add()}>new</button>
</li>
</ul>
uj5u.com熱心網友回復:
而不是在<svelte:self {...file}>單獨設定它們時傳播道具并將“系結:”添加到那里和主<Folder ..>標簽中的檔案似乎解決了不需要的洗掉 - > [REPL](https://svelte.dev/repl/dfc42f18f777472bb2b1033f6b077c67?version= 3.44.1 )
App.svelte
<Folder name="Home" bind:files={root} expanded/>
檔案夾.svelte
<svelte:self name={file.name} bind:files={file.files}/>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/346481.html
標籤:javascript json 递归 苗条的 苗条 3
下一篇:簡化遞回函式
