【发布时间】:2020-05-04 20:11:43
【问题描述】:
我有一个#each 块,显示图像和文本。如果用户单击一个按钮,我想在该特定图像上显示一个组件,而不是所有图像。现在,我有类似以下的内容,所以#if loading,显示 LoadingSpinnger 组件。这会显示在所有图像上,而不仅仅是单击的图像。有没有办法在 div 中添加组件,使其不适用于所有图像?
{#each things as thing}
<div class="image">
{#if loading}
<LoadingSpinner />
{/if}
<img
src={thing.p}
id ={thing.id} />
</div>
<div class="info">
Name: {thing.n} Species: {thing.s}
</div>
<div class="button">
<button on:click={addComponent()}>
Button Text
</button>
</div>
{/each}
【问题讨论】:
-
在我看来,您希望 LoadingSpinner 和图像位于一个单独的组件中,这样 加载 将仅应用于该图像
-
不确定我是否可以这样做,因为我使用唯一的 thing.id 作为图像源的一部分。所以它就像
src: /img/users/{user.id}/{thing.id}/image。我不确定我是否想把所有这些都提取到一个组件中。
标签: javascript svelte svelte-component