Size: a a a

Svelte [svelt] - All about Svelte JavaScript framework.

2021 November 25

RZ

Roman Zasinets in Svelte [svelt] - All about Svelte JavaScript framework.
Так и будет)
источник

MS

M S in Svelte [svelt] - All about Svelte JavaScript framework.
нужный пропс можно и спустить. Просто я бы, например, условную логику спустил в хидер и там же держал список условий неотображения.  А dlayout просто <Header {some}/>/ Чистенько. Все в одном месте. С другой стороны -неочевидно что хидер может и не отобразиться. Так что даже сложно сказать как семантически лучше.
источник

RZ

Roman Zasinets in Svelte [svelt] - All about Svelte JavaScript framework.
По мне, так компонент должен знать как себя отрисовать. Когда и при каких условиях - респонсибилити вызывающей стороны.
источник

RZ

Roman Zasinets in Svelte [svelt] - All about Svelte JavaScript framework.
К сожалению не прокатило.. Это получается проброс из чайлда в родитель, не хочет. Вроде через контекст можно, но возни еще больше, чем с сессией)
источник

A

Arushwl in Svelte [svelt] - All about Svelte JavaScript framework.
В вашем случае без хедера только дефенс-роуты?
источник
2021 November 26

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
через контекст кстати норм, почему нет. Я бы так и сделал
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
а не
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
тоже не сработает
источник

MZ

Misha Zamkevich in Svelte [svelt] - All about Svelte JavaScript framework.
А хэдер должен скрываться у авторизованного пользователя или сразу по заходу на указанные выше страницы?
источник

MZ

Misha Zamkevich in Svelte [svelt] - All about Svelte JavaScript framework.
Если сразу то в лэйауте получаешь путь и по условию делаешь отрисовку компонента.

Если для авторизованных — добавь еще одну проверку
источник

A

Arushwl in Svelte [svelt] - All about Svelte JavaScript framework.
Это ж в $page.path уже есть, не?
источник

RZ

Roman Zasinets in Svelte [svelt] - All about Svelte JavaScript framework.
Это тоже вариант, но мне он не очень нравится тем, что в нем гуляют голые строки и проверка на .startsWith(). По какой-то причине поменяли имя роута и все посыпалось) IDE-шка даже не намекнет на ошибку)

Ох. Пока писал пришло понимание, что такого рода runtime ошибки точно выловятся сразу. Да и вероятность смены имени роута минимальна, как и  количество необходимого кода для поддержки. Спасибо!
источник

MZ

Misha Zamkevich in Svelte [svelt] - All about Svelte JavaScript framework.
Ну да, я там раньше данные разруливал, вот и осталось через Load.

Поэтому можно подтянуть стор модуля
 
import { page } from '$app/stores';

И заюзать
 
{#If $page.path !== '/admin'}
   <Nav/>
{/if}


@rzasinets
источник

АВ

Александр Вивтоненко... in Svelte [svelt] - All about Svelte JavaScript framework.
Если есть возможность, используйте Typescript. Как минимум застрахуйте себя от "третьего" состояния js)
источник

RZ

Roman Zasinets in Svelte [svelt] - All about Svelte JavaScript framework.
Я примерно про это и говорил -> тайпскрипт и строгая типизация везде, где возможно. А в подходе с page.path приходится оперировать голыми строками, что выбивается из моих хотелок. Но как раз в этом случае такое оправдано, имхо
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
ну это же костыли, оно же разьедется если переместить файл с логином и надо править в 2х местах и постоянно помнить про этот явный урл когда никакими урлами ты не управляешь
источник

MZ

Misha Zamkevich in Svelte [svelt] - All about Svelte JavaScript framework.
Как я понимаю с file base роутером не получится типизировать адреса страниц.

Только если определить имя маршрута в константе и проверять:

import { checkUrl } from $lib/routes

…load({ page }) {
  if checkUrl($page.params.slug) {
     return {}
  }
}
источник

MZ

Misha Zamkevich in Svelte [svelt] - All about Svelte JavaScript framework.
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
так и шо будет в чек урл, кит же не даёт ничего чтобы дать понять отработает он этот урл или нет
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
даже если типизировать это никак не поможет
источник