Исключить страницу из _layout - PullRequest
0 голосов
/ 27 ноября 2018

Здравствуйте, я новичок в Svelte, Sapper & Express.

Проблема:
Я использую Sappers _layout.html для отображения 2 компонентов (заголовок и меню), которые должны отображаться на всех страницах,сохранить для страницы входа.

Как правильно достичь этого?

Возможные решения:
A) Обслуживать страницу входа из статической папки и использовать промежуточное программное обеспечение Express для маршрутизации к ней?

B) Иметь логин в качестве корня моего проекта и переместить все остальные маршруты вниз на уровень, чтобы они могли использовать общий макет, который не включает страницу входа?

C) Поставить и еслиоператор в макете и определить, когда пользователь находится на странице входа, чтобы скрыть компоненты заголовка и меню.

D) Не использовать макет для отображения компонентов.

1 Ответ

0 голосов
/ 27 ноября 2018

Мое предпочтительное решение этой проблемы - вариант C - использование child.segment для управления тем, какой макет используется:

<!-- src/routes/_layout.html -->
{#if child.segment === 'login'}
  <svelte:component this={child.component} {...child.props}/>
{:else}
  <div class="fancy-layout">
    <svelte:component this={child.component} {...child.props}/>
  </div>
{/if}
...