Могу ли я использовать компонент с прорезями для отображения других компонентов в тонком виде?

Здравствуйте, я использую _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


171
1

Ответ:

Решено

Согласно документу Svelte, «слот может содержать что угодно»

В моем примере вообще не было необходимости в слоте, мне просто нужно было включить компоненты, и каждый элемент управления был показан с переменной.

Я предполагаю, что вывод из этого поста таков: хотя слот может содержать что угодно, это не значит, что это должно быть.