169 похожих чатов

А как сделать скрытие всего компонента svelte? <script> let visible

= true;
</script>
{#if visible}
<p>Some text</p>
{/if}
Не работает и требует перед if вставить хоть какой-нибудь html, а надо просто не вставлять ничего в DOM, если компонент невидимый

16 ответов

41 просмотр

А нет варианта вынести if на уровень выше, где компонент подключается?)

Eugene-Ilyin Автор вопроса
Danny
А нет варианта вынести if на уровень выше, где ком...

Нет это 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))

В смысле не работает 0о

Eugene-Ilyin Автор вопроса
Mark Tanashchuk 🇺🇦
В смысле не работает 0о

В том смысле что код что я приветл требует хоть какого-то html иначе svelte пишет invalid mustache и не собирает компонент

Eugene-Ilyin Автор вопроса
Valexr
svelte:window on:scroll bind:scrollY ?

Спасибо поменяю на svelte:window! Но это конечно не решает основной проблемы в нетеребоньканьем DOM если нечего отображать

Valexr
svelte:window on:scroll bind:scrollY ?

Так свелтовее или action, но в вашем кейсе достаточно внутри компонента юзать svelte:window

Тогда нужно переформулировать вопрос. Не в Svelte, а "при использовании N"

Eugene-Ilyin Автор вопроса
Mark Tanashchuk 🇺🇦
Тогда нужно переформулировать вопрос. Не в Svelte,...

:) Ну до этого чата, я не знал что порекомендованный препроцессор немного херит такую возможность как корневая if директива

Eugene-Ilyin Автор вопроса
Valexr
svelte:window on:scroll bind:scrollY ?

А под svelte:window on:scroll bind:scrollY имеется ввиду вот так: https://svelte.dev/repl/33730646df8546d9a91e1f669c899b97?version=3.31.0 Это прямо вот совсем свелтовее некуда или еще есть где что улучшить по канону?

Eugene Ilyin
А под svelte:window on:scroll bind:scrollY имеется...

Ну в bind:scrollY={scrollY} можно координаты писать и на их разницу тригерить, что надо. А на on:scroll={func} запускать нужную функцию. Ток тут масло масленное вроде... нет возможности вникнуть и написать ваш кейс, но что покрутить написал выше.

Eugene-Ilyin Автор вопроса
Valexr
Ну в bind:scrollY={scrollY} можно координаты писат...

Ну кейс примитивный менять visible = scrollY === 0 || scrollYdelta < 0 Просто из-за того что нужна дельта при скроллинге появляется эти onMount, мне кажется проще не сделать

Eugene Ilyin
Ну кейс примитивный менять visible = scrollY === 0...

onMount выполняется 1 раз при маунте компонента

Eugene-Ilyin Автор вопроса
Valexr
onMount выполняется 1 раз при маунте компонента

Ну да, при восстановлении скроллинга в начале надо сохранить текущий window.scrollY, чтобы корректно считать дельты

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта