Svelte 3 中是否存在动态道具

vos*_*usa 3 svelte

当我迭代动态组件时,例如:

<svelte:component collection={collection} uid={uid} this={upload_component} 
     bind:action={restart}/>
Run Code Online (Sandbox Code Playgroud)

是否可以为每个组件使用一组动态道具。每个组件都有自己的一组 prop 名称和 prop 值。

解决方案示例:

<script>
    import Info from './Info.svelte';

    const pkgs = [{
        name: 'svelte',
        version: 3,
        speed: 'blazing',
        website: 'https://svelte.dev'
    }, ];
</script>

<Info {...pkgs[0]}/>
Run Code Online (Sandbox Code Playgroud)

更多内容请参见Rich Harris 的回答。

Ric*_*ris 8

是的。你需要传播道具

\n\n
<svelte:component this={upload_component} bind:action={restart} {...someprops}/>\n
Run Code Online (Sandbox Code Playgroud)\n\n

(请注意,绑定和事件侦听器不包含在这些 props \xe2\x80\x94 中,但您始终可以在 props 中传递回调函数。)

\n