Size: a a a

2020 December 09

A

Arushwl in Svelte [svelt]
Eugene Ilyin
Нет это Navigation Bottom, который вешает сам себя на скролл
  let visible = true
 let prevScrollPos = window.pageYOffset
 const handleScroll = event => {
   let thisScrollPos = window.pageYOffset
   visible = thisScrollPos < prevScrollPos
   prevScrollPos = thisScrollPos
 }
 onMount(() => window.addEventListener('scroll', handleScroll))
 onDestroy(() => window.removeEventListener('scroll', handleScroll))
svelte:window on:scroll bind:scrollY ?
источник

МТ

Марк Танащук... in Svelte [svelt]
Eugene Ilyin
А как сделать скрытие всего компонента svelte?
<script>
 let visible = true;
</script>
{#if visible}
   <p>Some text</p>
{/if}

Не работает и требует перед if вставить хоть какой-нибудь html, а надо просто не вставлять ничего в DOM, если компонент невидимый
В смысле не работает 0о
источник

EI

Eugene Ilyin in Svelte [svelt]
Марк Танащук
В смысле не работает 0о
В том смысле что код что я приветл требует хоть какого-то html иначе svelte пишет invalid mustache и не собирает компонент
источник

МТ

Марк Танащук... in Svelte [svelt]
Eugene Ilyin
В том смысле что код что я приветл требует хоть какого-то html иначе svelte пишет invalid mustache и не собирает компонент
источник

МТ

Марк Танащук... in Svelte [svelt]
Лыжи не едут
источник

EI

Eugene Ilyin in Svelte [svelt]
Arushwl
svelte:window on:scroll bind:scrollY ?
Спасибо поменяю на svelte:window! Но это конечно не решает основной проблемы в нетеребоньканьем DOM если нечего отображать
источник

A

Arushwl in Svelte [svelt]
Arushwl
svelte:window on:scroll bind:scrollY ?
Так свелтовее или action, но в вашем кейсе достаточно внутри компонента юзать svelte:window
источник

A

Arushwl in Svelte [svelt]
Eugene Ilyin
Спасибо поменяю на svelte:window! Но это конечно не решает основной проблемы в нетеребоньканьем DOM если нечего отображать
Вы уверены, что не решает?
источник

A

Arushwl in Svelte [svelt]
Но конечно логичнее, что компонент скрывается извне...
источник

МТ

Марк Танащук... in Svelte [svelt]
Может я неправильно понял проблему?🤔
источник

EI

Eugene Ilyin in Svelte [svelt]
Марк Танащук
Лыжи не едут
Хм... Ау меня не едут, очевидно плагин какой-то вредит синтаксису...
Сейчас потключаю все предпроцессоры, которые тут порекомендовали, чтобы элементы не вставляли друг за другом пробелы
источник

A

Arushwl in Svelte [svelt]
Вообще repl нагляднее как бэ...
источник

EI

Eugene Ilyin in Svelte [svelt]
Марк Танащук
Может я неправильно понял проблему?🤔
Не правильно, но у меня обернуть if корень html верстки не получается
источник

МТ

Марк Танащук... in Svelte [svelt]
Eugene Ilyin
Не правильно, но у меня обернуть if корень html верстки не получается
Все равно не понял. Что еще за корень html верстки?
источник

МТ

Марк Танащук... in Svelte [svelt]
DOM в компоненте вообще не обязателен, а if, each и прочее спокойно ставится на верхнем уровне поверх всяких тегов
источник

EI

Eugene Ilyin in Svelte [svelt]
Марк Танащук
Все равно не понял. Что еще за корень html верстки?
Как-то так
Error: Unsupported mustache syntax detected!
Node type: "Fragment"
Text: "{#if visible}\r\n...
источник

МТ

Марк Танащук... in Svelte [svelt]
repl pls
источник

A

Arushwl in Svelte [svelt]
Марк Танащук
repl pls
+ only
источник

МТ

Марк Танащук... in Svelte [svelt]
Это явно не свелт, как я думаю)
источник

EI

Eugene Ilyin in Svelte [svelt]
Да я бы с удовольствием, но в repl не вставишь конфигурацию, которая собирает используя svelte.config.cjs
  preprocess: [
   asMarkupPreprocessor([
     sveltePreprocess(),
     mdsvex(),
   ]),
   svelteTrim({
     removalMethod: 'trim',
     inline: false,
     multiline: true,
     componentSiblings: true,
     elementSiblings: true,
   }),
 ],
источник