You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Svelte组件中如何一次性传递所有插槽?

如何在Svelte组件中一次性传递所有插槽?

Svelte没有像React中{children}那样直接传递所有插槽的原生语法,但可以通过内置的$$slots对象实现批量传递:

$$slots是组件的内置只读对象,包含了父组件传递过来的所有插槽(默认插槽对应的键为default)。你可以遍历它的键来动态渲染所有插槽,无需逐个声明:

<script>
  import Modal from 'components/Generic/Modal.svelte';
</script>

<Modal {...$$restProps}>
  {#each Object.keys($$slots) as slotName}
    <slot name={slotName} />
  {/each}
</Modal>

这样所有父组件传入的插槽(包括默认插槽和具名插槽)都会自动传递给Modal组件,省去了手动逐个编写<slot>标签的麻烦。

内容的提问来源于stack exchange,提问作者Nir O.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 22:56:28