Могу ли я использовать компонент с прорезями для отображения других компонентов в svelte? - PullRequest
0 голосов
/ 19 декабря 2018

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

И это то, что я пытаюсьдля достижения enter image description here

В настоящее время я использую ловушки жизненного цикла 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

1 Ответ

0 голосов
/ 16 января 2019

Согласно документу Svelte "слот может содержать все что угодно"

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

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

...