Size: a a a

2020 December 11

ER

Eric Rovell in Svelte [svelt]
Кирилл Спасибович
export async function preload(page) {
 const results = loadStore();
 fetchData(page.query.search)
   .then(res => results.set({ data: res, status: 'success' }));
 return { results };
}


получится наверное как-то так, мы размазываем стор по компоненту, а там уже начинает работать логика на ифах, которая в ssr просто отобразит контент, а на клиенте по изменению query запустит fetch, который начнёт переключать status, который в свою очередь будет показывать нам спиннеры и тд
Но как менять ссылку в данном случае? Проверять статус?
источник

ON

Oleg N in Svelte [svelt]
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Eric Rovell
Но как менять ссылку в данном случае? Проверять статус?
повесить $: results.fetch($page.query.search);
источник

КС

Кирилл Спасибович... in Svelte [svelt]
чтобы каждый раз, когда ссылка обновлялась, вся шарманка перезапускалась
источник

ON

Oleg N in Svelte [svelt]
слот b передан, он просто пустой,
а вот с default - косяк, из App пустой слот не передался, а из MyComponent передался
источник

КС

Кирилл Спасибович... in Svelte [svelt]
тока надо ещё наверное так сделать

$: search = $page.query.search;
$: results.fetch(search);


а то будем лишний раз запускать когда что-то другое в page поменялось
источник

ER

Eric Rovell in Svelte [svelt]
Кирилл Спасибович
повесить $: results.fetch($page.query.search);
Тоже идея. Хотя, стараюсь избегать меток. Но стоит попробовать.
источник

КС

Кирилл Спасибович... in Svelte [svelt]
ну тут вроде не должно сломаться)
источник

ON

Oleg N in Svelte [svelt]
Oleg N
слот b передан, он просто пустой,
а вот с default - косяк, из App пустой слот не передался, а из MyComponent передался
а ясно, если меджу слотпми есть пробел - то это считатется за дефолтный слот, логично
источник

ER

Eric Rovell in Svelte [svelt]
Кирилл Спасибович
ну тут вроде не должно сломаться)
спасибо за идеи, отпишусь, как заработает!)
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Eric Rovell
спасибо за идеи, отпишусь, как заработает!)
давай) можем потом отписать в том ишаке о таком велосипеде)
источник

ON

Oleg N in Svelte [svelt]
кажись баги то и нет...
источник

К

Константин in Svelte [svelt]
Oleg N
слот b передан, он просто пустой,
а вот с default - косяк, из App пустой слот не передался, а из MyComponent передался
это он у тебя передан
источник

ON

Oleg N in Svelte [svelt]
Константин
это он у тебя передан
я твой пример взял
источник

К

Константин in Svelte [svelt]
эээ... нет, в моём примере нет фоллбэка в MyComponent
источник

ON

Oleg N in Svelte [svelt]
Константин
это он у тебя передан
смотри локика: ты не передал из App -> MyComp слот B, значит в myComp в слоте B сработал плейсхолдер - а он пустойь и он пердался ниже, но всё же передался
источник

ON

Oleg N in Svelte [svelt]
Константин
эээ... нет, в моём примере нет фоллбэка в MyComponent
да. но работает так же
источник

ON

Oleg N in Svelte [svelt]
а ты хочешь, что если слот - пустой - то считалось что слота нет
источник

К

Константин in Svelte [svelt]
Oleg N
а ясно, если меджу слотпми есть пробел - то это считатется за дефолтный слот, логично
не логично, пробел - это часть разметки, а не содержимого. Почему я должен склеивать разметку в строку?
источник

К

Константин in Svelte [svelt]
если бы там был  , это был бы пробел. И вот это пробел: {" "}
источник