有什么方法可以将道具传递到 svelte 插槽吗?

koo*_*1st 6 svelte

我有一个带有插槽的父组件,以及一个作为插槽放入父组件中的子组件。

我想通过父组件将道具“gutter”传递给子组件。

有没有办法在没有上下文和存储的情况下做到这一点?

我想要的就是这样。父组件:ParentComp.svelte

<script>
    export let gutter = 0;
</script>

<div>
    <slot gutter={gutter}></slot>
</div>

Run Code Online (Sandbox Code Playgroud)

子组件:ChildComp.svelte

<script>
    export let gutter = 0;
</script>

<div>
    gutter is: {gutter}
    <slot></slot>
</div>
Run Code Online (Sandbox Code Playgroud)

应用程序.svelte

<script>
    import ParentComp from './ParentComp.svelte'
    import ChildComp from './ChildComp.svelte'
</script>

<ParentComp gutter=10>
    <ChildComp>
        <ParentComp gutter=8>
            <ChildComp></ChildComp>
        </ParentComp>
    </ChildComp>
</ParentComp>
Run Code Online (Sandbox Code Playgroud)

实际上,我正在做的是用行组件(父级)和列组件(子级)制作布局组件。我想用单个变量控制行和列的装订线支柱。

我无法使用上下文或存储来执行此操作,因为有时列中有一行。

koo*_*1st 2

我尝试使用 Svelte context,这可以解决我的问题!!!!我不应该排除问题中的上下文,抱歉,这是我的错误。

我在这里做了一个示例,上下文效果很好。 样本