【发布时间】:2022-01-23 19:00:11
【问题描述】:
有一个组件<Bar> 继承自组件<Foo>。
<Foo> 组件定义了一个名为 content 的插槽,其中包含备用内容。 <Bar> 组件还定义了一个名为 content 的插槽,具有不同的后备内容。
<!-- Foo.svelte -->
<slot name="content">
foo fallback
</slot>
<!-- Bar.svelte -->
<script>import Foo from './Foo.svelte'</script>
<Foo>
<span slot="content">
bar fallback
</span>
</Foo>
<Bar> 组件在使用 <Foo/> 调用时显示回退,但在使用 <Bar><span slot="content">bar custom</span></Bar> 调用时不显示自定义内容。
你能告诉我我做错了什么吗?
<Foo/>
<!-- prints 'foo fallback': OK -->
<Foo>
<span slot="content">foo custom</span>
</Foo>
<!-- prints 'foo custom': OK -->
<Bar/>
<!-- prints 'bar fallback': OK -->
<Bar>
<span slot="content">bar custom</span>
</Bar>
<!-- prints 'bar fallback': KO - I would have expected 'bar custom' -->
请注意,这段代码过于简单,我的实际用例比这要复杂一些,我需要在那里使用插槽。
小提琴:https://svelte.dev/repl/5c525651eb8b4f60a6a696c1bd19f723
【问题讨论】:
标签: javascript inheritance svelte