你好,我正在使用_layout将我的应用划分为这样的部分
_layout.html
<div class="container"> <-- creates a 12 column grid
{#if $user}
<Header /> <-- spans the first row of the 12 columns
<Menu segment={child.segment}/> <-- spans the first 2 columns of the remaining rows
<Content slot={child.component}/> <-- spans the other 10 columns
{:else}
<Login />
{/if}
</div>
当前,我使用内容组件中的svelte生命周期钩子将“要显示的组件”手动设置到插槽中,但是由于路径不包含要显示的组件,因此这感觉很错误
<content>
<slot>
{#if dashboard}
<Dashboard />
{:elseif users}
<Users />
{/if}
</slot>
</content>
<script>
var dashboard, users = false;
export default {
oncreate() {
this.dashboard = true;
},
...
感觉像我应该通过路由'/'和'/ users'包含组件,而内容组件应该只显示child.component
答案 0 :(得分:0)
根据Svelte文档“插槽可以包含任何内容”
在我的示例中,根本不需要插槽,我只需要包括组件并控制每个组件都有一个变量即可。
我想这篇文章的重点是:即使一个插槽可以包含任何东西,也不意味着它应该包含任何东西。