Size: a a a

2020 December 26

A

Arushwl in Svelte [svelt]
ага
источник

A

Arushwl in Svelte [svelt]
Pavel 🦇 Malyshev
Ну допишешь) я бы тогда вынес создание обсервера в update чтобы  исключить дублирование кода
так он же и так в update вызывается
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Arushwl
так он же и так в update вызывается
мы по new IntersectionObserver
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
чтобы options ему реактивно менять
источник

A

Arushwl in Svelte [svelt]
это ж инициализация не вызов
источник

A

Arushwl in Svelte [svelt]
Arushwl
вот это странный момент:

target = [].map.call(
  node.querySelectorAll(selector),
  target => {
   observer.observe(target);
   return target;
  }


ругается что target нету

ReferenceError: assignment to undeclared variable target
вызов тут:

function update({ selector }) {
 destroy();
 targets = [].map.call(
  node.querySelectorAll(selector),
  target => {
   observer.observe(target);
   return target;
  }
 );
}
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Arushwl
это ж инициализация не вызов
опции то куда передаются?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
  const observer = new IntersectionObserver((entries, observer) => {
   root.dispatchEvent(new CustomEvent('intersection', {
     detail: { entries, observer }
   }));
 }, options);
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
мы с Александром про кейс, когда опции можно передать через параметры экшена и значит они могут реактивно изменяться
источник

A

Arushwl in Svelte [svelt]
да он с ними инициализируется и ждет вызова в update, а чтоб их менять - перенести опции в update?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
например ты хочешь чтобы юзер мог вводить произвоьлный threshold
источник

A

Arushwl in Svelte [svelt]
Pavel 🦇 Malyshev
например ты хочешь чтобы юзер мог вводить произвоьлный threshold
очень хочу )))
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Arushwl
да он с ними инициализируется и ждет вызова в update, а чтоб их менять - перенести опции в update?
вот тут пример как я обычно пишу экшены: https://github.com/PaulMaly/svelte-actions-mutation/blob/master/src/index.js
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Arushwl
очень хочу )))
ты не хочешь в данный момент, но раз мы пишем коммон решение надо это тоже предусмотреть
источник

A

Arushwl in Svelte [svelt]
вижу - инициализация/создание в update
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
но в случае с IntersectionObserver нужно будет делать new только если опции поменялись
источник

A

Arushwl in Svelte [svelt]
Pavel 🦇 Malyshev
ты не хочешь в данный момент, но раз мы пишем коммон решение надо это тоже предусмотреть
ясно
источник

A

Arushwl in Svelte [svelt]
переношу в update
источник

A

Arushwl in Svelte [svelt]
Pavel 🦇 Malyshev
но в случае с IntersectionObserver нужно будет делать new только если опции поменялись
значит их отдельным пропсом прокидывать? или отдельный update писать?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Arushwl
значит их отдельным пропсом прокидывать? или отдельный update писать?
ну я их размазал типа loaded, selector и остальное options
источник