Size: a a a

2020 December 09

МТ

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

Не работает и требует перед if вставить хоть какой-нибудь html, а надо просто не вставлять ничего в DOM, если компонент невидимый
Тогда нужно переформулировать вопрос.
Не в Svelte, а "при использовании N"
источник

EI

Eugene Ilyin in Svelte [svelt]
Марк Танащук
Тогда нужно переформулировать вопрос.
Не в Svelte, а "при использовании N"
:) Ну до этого чата, я не знал что порекомендованный препроцессор немного херит такую возможность как корневая if директива
источник

EI

Eugene Ilyin in Svelte [svelt]
Да, это svelteTrim как оказалось...
источник

EI

Eugene Ilyin in Svelte [svelt]
Всего одна issue в библиотеке svelteTrim, но она как раз касается этой сути
https://github.com/firefish5000/svelte-trim/issues/1
Но ничем другим склеивать html элементы, как это делают React или Vue из коробки, чтобы не ломать верстку в Svelte по сути нечем.
источник

EI

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

UR

Uncle Robot in Svelte [svelt]
Добрый день, Свелтейшие!
Я как-то спрашивал и находил пример как сделать древовидное отображение. Сегодня искал ответ на один вопрос и нашел видео, где с 0 делают: https://www.youtube.com/watch?v=-EwKiLZtnUs&ab_channel=SpinSpire

Надеюсь пригодится :)
источник

UR

Uncle Robot in Svelte [svelt]
Но я так и не понял svelte:self. :(
источник

AP

Alexander Ponomarev in Svelte [svelt]
Eugene Ilyin
Всего одна issue в библиотеке svelteTrim, но она как раз касается этой сути
https://github.com/firefish5000/svelte-trim/issues/1
Но ничем другим склеивать html элементы, как это делают React или Vue из коробки, чтобы не ломать верстку в Svelte по сути нечем.
ого кто-то написал посетителя убирающего вайтспейсы! без регэкспов! жаль он только тс не осилил и везде позатыкал его, хз зачем вообще на тсе писал
источник

A

Arushwl in Svelte [svelt]
Eugene Ilyin
А под svelte:window on:scroll bind:scrollY имеется ввиду вот так:
https://svelte.dev/repl/33730646df8546d9a91e1f669c899b97?version=3.31.0
Это прямо вот совсем свелтовее некуда или еще есть где что улучшить по канону?
Ну в bind:scrollY={scrollY} можно координаты писать и на их разницу тригерить, что надо. А на on:scroll={func} запускать нужную функцию.

Ток тут масло масленное вроде... нет возможности вникнуть и написать ваш кейс, но что покрутить написал выше.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Константин
@PaulMaly крутой доклад, спасибо большое! )
🤗
источник

AP

Alexander Ponomarev in Svelte [svelt]
Константин
@PaulMaly крутой доклад, спасибо большое! )
да я тоже начал смотреть, наконец-то что-то другое про свелт. Первую четверть посмотрел было интересно
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Артём Никитин
Доклад в принципе понятный. Единственно, я запнулся на "dirty". С этого "грязного" у меня начались непонятки. Павел про него сказал (17:36): "несложно догадаться, что dirty это некоторые флажки, которые показывают какие части стейта были изменены" Я потом гугл прошерстил и не нашёл никакой связи между dirty и флажками.
Дальше возник вопрос про странную операцию сравнения этого dirty и регулярки /*name*/ в if (dirty & /*name*/ 1). Мне в чате говорят это не регулярка, а коментарий. Самое смешное, что я до сих пор ставлю эти коменты вручную: /* –  вначале и */ – много строк внизу, в конце. А сейчас, впервые увидев ЭТО внутри выражения в скобках блока if я не только не узнал, но даже пытался выяснить что это за комент и как он работает в качестве операнда в выражении if (dirty & /*name*/ 1) и зачем там единица в конце? :) Ну из выражения как бы понимаю, что ставится вопрос: dirty это name? Синтаксис конечно - бред! Или возможно Свелт. Единица вообще лишняя, просто скобку подпирает. Но как-то работает же. Наверно просто магия :)
Возможно кому-то будет полезно про dirty: https://github.com/sveltejs/svelte/issues/1922
блин, кажется я должен был сказать что это просто комментарии для читающего код и они вырезаются при сборке и для работы кода не нужны. если забыл, сорян. на холи точно говорил. про само понятие dirty тоже думал что эта аллюзия на dirty checking из angularjs известная штука. видимо надо еще поработать над этой частью
источник

EI

Eugene Ilyin in Svelte [svelt]
Alexander Ponomarev
ого кто-то написал посетителя убирающего вайтспейсы! без регэкспов! жаль он только тс не осилил и везде позатыкал его, хз зачем вообще на тсе писал
Что такое тс, который автор библиотеки не осилил?
На чем ему надо было написать если не на тсе? Что такое тсе?
Какие есть альтернативы, кроме svelteTrim, чтобы элементы не были разделены, так как это идет у React/Vue из коробки?
источник

EI

Eugene Ilyin in Svelte [svelt]
Arushwl
Ну в bind:scrollY={scrollY} можно координаты писать и на их разницу тригерить, что надо. А на on:scroll={func} запускать нужную функцию.

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

AP

Alexander Ponomarev in Svelte [svelt]
Eugene Ilyin
Что такое тс, который автор библиотеки не осилил?
На чем ему надо было написать если не на тсе? Что такое тсе?
Какие есть альтернативы, кроме svelteTrim, чтобы элементы не были разделены, так как это идет у React/Vue из коробки?
я не знаю альтернатив, у этого плагина жизнеспособный подход, если бы я его нашёл я бы отдал ему предпочтение вместо любой реализации на регэкспах. ТС это typescript.
источник

EI

Eugene Ilyin in Svelte [svelt]
Alexander Ponomarev
я не знаю альтернатив, у этого плагина жизнеспособный подход, если бы я его нашёл я бы отдал ему предпочтение вместо любой реализации на регэкспах. ТС это typescript.
А чем вы удаляете whitespaces вставляемые svelte между элементами, которые ломают верстку?
источник

AP

Alexander Ponomarev in Svelte [svelt]
Eugene Ilyin
А чем вы удаляете whitespaces вставляемые svelte между элементами, которые ломают верстку?
я не пользуюсь свелтом пока там не решат эту проблему и ещё несколько других)
источник

ON

Oleg N in Svelte [svelt]
Pavel 🦇 Malyshev
блин, кажется я должен был сказать что это просто комментарии для читающего код и они вырезаются при сборке и для работы кода не нужны. если забыл, сорян. на холи точно говорил. про само понятие dirty тоже думал что эта аллюзия на dirty checking из angularjs известная штука. видимо надо еще поработать над этой частью
знали бы ещё люди что такое dirty-checking, или чем он не является...
источник

A

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

AP

Alexander Ponomarev in Svelte [svelt]
Oleg N
знали бы ещё люди что такое dirty-checking, или чем он не является...
как показывает практика понятие битовой маски то не всем известно и зачем нужны побитовые операции)
источник