Size: a a a

2020 December 09

EI

Eugene Ilyin in Svelte [svelt]
Arushwl
onMount выполняется 1 раз при маунте компонента
Ну да, при восстановлении скроллинга в начале надо сохранить текущий window.scrollY, чтобы корректно считать дельты
источник

A

Arushwl in Svelte [svelt]
Лишняя запись window.scrollY.
источник

A

Arushwl in Svelte [svelt]
https://t.me/sveltejs/126945
Пишите в переменную координату из svelte:window и с ней работайте. Можно убрать $: реактивное выражение в функцию и выполнять ее на событии on:scroll
Так логичнее и нагляднее в дальнейшем. Имхо
источник

ON

Oleg N in Svelte [svelt]
Oleg N
знали бы ещё люди что такое dirty-checking, или чем он не является...
В итоге у dity-checking плохая репутация чисто из-за названия.
А вот virtual-dom дак норм, хотя это дирти-чееинг в квадрате
источник

PM

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

EI

Eugene Ilyin in Svelte [svelt]
Arushwl
https://t.me/sveltejs/126945
Пишите в переменную координату из svelte:window и с ней работайте. Можно убрать $: реактивное выражение в функцию и выполнять ее на событии on:scroll
Так логичнее и нагляднее в дальнейшем. Имхо
Вот так https://svelte.dev/repl/33730646df8546d9a91e1f669c899b97?version=3.31.0
Можно убрать bind.
onMount нужен если при восстановлении страницы и скроллинга scrollY не ноль
источник

A

Arushwl in Svelte [svelt]
Как хотите.
источник

A

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

EI

Eugene Ilyin in Svelte [svelt]
Arushwl
Вы спросили, я своё мнение высказал.
Я просто пытаюсь понять теперь этот вариант оптимальный на ваш взгляд?
источник

A

Arushwl in Svelte [svelt]
Нет. Вы используете нативный window и svelte:window
источник

МТ

Марк Танащук... in Svelte [svelt]
Eugene Ilyin
Я просто пытаюсь понять теперь этот вариант оптимальный на ваш взгляд?
Кейс просто отображать нижнюю навигацию по скроллу вверх и скрывать по скроллу вниз?
источник

EI

Eugene Ilyin in Svelte [svelt]
> Пишите в переменную координату из svelte:window и с ней работайте.
Вернул bind:scrollY, вот так:
https://svelte.dev/repl/33730646df8546d9a91e1f669c899b97?version=3.31.0

> Можно убрать $: реактивное выражение в функцию и выполнять ее на событии on:scroll
Убрал реактивное выражение

> Вы используете нативный window и svelte:window
Но мне никак не уйти от нативного window при onMount, так как при монтировании мне надо сохранить в prevScrollY текущий window.scrollY, чтобы знать при первом handleScroll - delta больше или меньше нуля.
источник

EI

Eugene Ilyin in Svelte [svelt]
Марк Танащук
Кейс просто отображать нижнюю навигацию по скроллу вверх и скрывать по скроллу вниз?
Верно
источник

АН

Артём Никитин... in Svelte [svelt]
{#if visible}
 <nav class=bottom>Bottom navigation</nav>
{:else}
 <nav class=top>Top navigation</nav> // разница: у класса top top:0
{/if}
источник

МТ

Марк Танащук... in Svelte [svelt]
Eugene Ilyin
Верно
источник

МТ

Марк Танащук... in Svelte [svelt]
Это по скроллингу колесиком, но думаю мысль донес
источник

МТ

Марк Танащук... in Svelte [svelt]
Ровно тоже самое можно делать и по горизонтали, если необходимо
источник

A

Arushwl in Svelte [svelt]
Eugene Ilyin
> Пишите в переменную координату из svelte:window и с ней работайте.
Вернул bind:scrollY, вот так:
https://svelte.dev/repl/33730646df8546d9a91e1f669c899b97?version=3.31.0

> Можно убрать $: реактивное выражение в функцию и выполнять ее на событии on:scroll
Убрал реактивное выражение

> Вы используете нативный window и svelte:window
Но мне никак не уйти от нативного window при onMount, так как при монтировании мне надо сохранить в prevScrollY текущий window.scrollY, чтобы знать при первом handleScroll - delta больше или меньше нуля.
Не так. Вы опять не пишите bind:scrollY={Y} в переменную.  В таком варианте onMount не потребуется.
источник

AS

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

EI

Eugene Ilyin in Svelte [svelt]
Марк Танащук
Это по скроллингу колесиком, но думаю мысль донес
В таком виде on:wheel|nonpassive|preventDefault={scroller} не работает сам скроллинг
Кроме того при возврате на страницу или монтировании window.scrollY может быть отличным от нуля изначально
источник