Здравствуйте, я использую _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>
И это то, чего я пытаюсь достичь
В настоящее время я использую изящные перехватчики жизненного цикла в компоненте содержимого, чтобы вручную установить «компонент для отображения» в слот, но это кажется неправильным, поскольку маршрут dosnt включает компонент для отображения
<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
Согласно документу Svelte, «слот может содержать что угодно»
В моем примере вообще не было необходимости в слоте, мне просто нужно было включить компоненты, и каждый элемент управления был показан с переменной.
Я предполагаю, что вывод из этого поста таков: хотя слот может содержать что угодно, это не значит, что это должно быть.