Size: a a a

2020 December 06

A

Arushwl in Svelte [svelt]
Дмитрий Ивахненко
спасибо ещё раз! оно работоет)
Всё же почитайте туториал 👍🏻
источник

ER

Eric Rovell in Svelte [svelt]
Помню, нужно было в компоненте повесить Intersection Observer. Сначала всё скинул в компонент, код выглядел как заброшенный чердак, но всё работало. Вешал через onMount.

Позже, познал силу экшенов, перенёс наблюдателя в экшн функцию и вынес из компонента. Передавал вовнутрь только строками селекторы - за кем следить и callback.

use:observe={{ targets: [ "#somediv > a" ], handleIntersect }}

В конце экшена отписываемся

return {
 destroy() {
   observer.disconnect();
 }
}

И код проще стал и переиспользуемость имеется.

Actions это реально крутая штука🤔
источник

АН

Артём Никитин... in Svelte [svelt]
Пожалуйста помогите понять фрагмент результирующего кода компилятора:
if (dirty & /*name*/ 1) set_data(t1, /*name*/ ctx[0]);
Я вижу что в ифе есть непонятное значение у переменной "грязный" которое вроде как флаг и дальше привычный оператор & который я обычно использую для проверки наличия значения (например у dirty) чтобы далее можно было произвести какое-то действие.
Здесь после & стоит невалидная (из-за первого '*') регулярка и единица. Не пойму что это, как работает и как из этого получается булево значение? Просто не могу воспроизвести что-то подобное в ифе.
источник

ОК

Олег Комков... in Svelte [svelt]
Артём Никитин
Пожалуйста помогите понять фрагмент результирующего кода компилятора:
if (dirty & /*name*/ 1) set_data(t1, /*name*/ ctx[0]);
Я вижу что в ифе есть непонятное значение у переменной "грязный" которое вроде как флаг и дальше привычный оператор & который я обычно использую для проверки наличия значения (например у dirty) чтобы далее можно было произвести какое-то действие.
Здесь после & стоит невалидная (из-за первого '*') регулярка и единица. Не пойму что это, как работает и как из этого получается булево значение? Просто не могу воспроизвести что-то подобное в ифе.
Это не регулярка, это комментарий
источник

АН

Артём Никитин... in Svelte [svelt]
Олег Комков
Это не регулярка, это комментарий
И этот комент как-то используется?
источник

АН

Артём Никитин... in Svelte [svelt]
Как?
источник

ОК

Олег Комков... in Svelte [svelt]
Артём Никитин
И этот комент как-то используется?
никак, это для того, кто читать будет результирующий код, его минификатор потом вырежет
источник

ОК

Олег Комков... in Svelte [svelt]
if (dirty & 1) set_data(t1, ctx[0]);
источник

11

1 1 in Svelte [svelt]
и & тут арифметический побитовый, а не тот логический && который "обычно используется"
источник

AS

Alexey Schebelev in Svelte [svelt]
Олег Комков
никак, это для того, кто читать будет результирующий код, его минификатор потом вырежет
возможно еще помогает Svelte Dev Tools тоже
источник

МТ

Марк Танащук... in Svelte [svelt]
Артём Никитин
И этот комент как-то используется?
Комментарии добавляются только в дев режиме
источник

АН

Артём Никитин... in Svelte [svelt]
Олег Комков
никак, это для того, кто читать будет результирующий код, его минификатор потом вырежет
Спасибо. Понял
источник

МТ

Марк Танащук... in Svelte [svelt]
Обозначая переменные, которые они обрабатывают
источник

МТ

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

АН

Артём Никитин... in Svelte [svelt]
1 1
и & тут арифметический побитовый, а не тот логический && который "обычно используется"
Если бы флаг dirty = 1 то работает
источник

11

1 1 in Svelte [svelt]
не.  тут смысл в том, что в этом dirty отдельными битами флажки для разных полей выставлены.  и проверяются по маске нужных конкретному выражению полей.
источник

АН

Артём Никитин... in Svelte [svelt]
1 1
не.  тут смысл в том, что в этом dirty отдельными битами флажки для разных полей выставлены.  и проверяются по маске нужных конкретному выражению полей.
Понял. Выходит не всегда можно взять и прочитать итоговый код.
источник

11

1 1 in Svelte [svelt]
почему?  оно же как раз комментарии для того и ставит, чтобы было понятно что эти захардкоженные числа  обозначают
источник

AS

Alexey Schebelev in Svelte [svelt]
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators - вот тут почитайте про битовые операции
источник

ON

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