有什么方法可以将道具传递给 svelte 插槽吗?
Is there any way to pass a prop to slot in svelte?
我有一个带插槽的父组件,
和一个子组件作为插槽放入父组件。
我想通过父组件传递一个属性“gutter”给子组件。
有没有办法在没有上下文和存储的情况下做到这一点?
我想要的就是这样。
父组件:ParentComp.svelte
<script>
export let gutter = 0;
</script>
<div>
<slot gutter={gutter}></slot>
</div>
子组件:ChildComp.svelte
<script>
export let gutter = 0;
</script>
<div>
gutter is: {gutter}
<slot></slot>
</div>
App.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>
其实我做的是用行组件(父)和列组件(子)制作布局组件。
我想用单个变量控制行和列的装订线支柱。
我不能使用上下文或存储来执行此操作,因为有时列中有一行。
我尝试使用 Svelte 上下文,这可以解决我的问题!!!!
我不应该在我的问题中排除上下文,对不起,这是我的错误。
我在这里做了一个示例,上下文效果很好。
Sample
我有一个带插槽的父组件, 和一个子组件作为插槽放入父组件。
我想通过父组件传递一个属性“gutter”给子组件。
有没有办法在没有上下文和存储的情况下做到这一点?
我想要的就是这样。 父组件:ParentComp.svelte
<script>
export let gutter = 0;
</script>
<div>
<slot gutter={gutter}></slot>
</div>
子组件:ChildComp.svelte
<script>
export let gutter = 0;
</script>
<div>
gutter is: {gutter}
<slot></slot>
</div>
App.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>
其实我做的是用行组件(父)和列组件(子)制作布局组件。 我想用单个变量控制行和列的装订线支柱。
我不能使用上下文或存储来执行此操作,因为有时列中有一行。
我尝试使用 Svelte 上下文,这可以解决我的问题!!!! 我不应该在我的问题中排除上下文,对不起,这是我的错误。
我在这里做了一个示例,上下文效果很好。 Sample