Size: a a a

2021 April 01

KN

Konstantin Nosov in Svelte [svelt]
но когда увидел - не могу просто понять как оно работает
источник

A

Arushwl in Svelte [svelt]
Обсервер по умолчанию виснет на window
источник

AP

Alexander Ponomarev in Svelte [svelt]
Konstantin Nosov
тоже думал в эту сторону, сдлеать PR туда такой
не там нужен доллар, потому что есть зависимость от пропсов, обсервер должен пересоздаваться
источник

AP

Alexander Ponomarev in Svelte [svelt]
Arushwl
Обсервер по умолчанию виснет на window
о чем ты вообще? =)
источник

A

Arushwl in Svelte [svelt]
Alexander Ponomarev
о чем ты вообще? =)
Вам не суждено меня понять. Устаньте уже.
источник

AP

Alexander Ponomarev in Svelte [svelt]
Konstantin Nosov
но когда увидел - не могу просто понять как оно работает
  afterUpdate(async () => {
   if (entry !== null) {
     dispatch("observe", entry);
     if (entry.isIntersecting) {
       dispatch("intersect", entry);
       if (once) observer.unobserve(entry.target);
     }
   }
   await tick();
   if (element !== null && element !== prevElement) {
     observer.observe(element);
     if (prevElement !== null) observer.unobserve(prevElement);
     prevElement = element;
   }
 });

меня больше этот кусок напрягает, он по идее стреляет эвент на каждый апдейт даже если entry или intersecting не менялся. Могут ли еще какие-то сторонние апдейты быть или нет я хз.
источник

KN

Konstantin Nosov in Svelte [svelt]
хм, то есть разумно добавить туда какой-то флажок чтобы несколько раз его не тригерить
источник

AP

Alexander Ponomarev in Svelte [svelt]
а еще там старый обсервер от элемента не отписывают при создании нового
источник

Д

Дмитрий in Svelte [svelt]
Ребзя, за сколько можно изучить svelte?
До нормального уровня
источник

AP

Alexander Ponomarev in Svelte [svelt]
Konstantin Nosov
хм, то есть разумно добавить туда какой-то флажок чтобы несколько раз его не тригерить
  $: if (typeof window !== "undefined") {
   observer = new IntersectionObserver(
     (entries) => {
       entries.forEach((_entry) => {
         entry = _entry;
         intersecting = _entry.isIntersecting;
       });
     },
     { root, rootMargin, threshold }
   );
 }
если этот кусок перевызовется, то будет 2 обса подписанных на одно и то же, а или новый даже не подпишут на элемент=)
источник

KN

Konstantin Nosov in Svelte [svelt]
он поидее тригерится на изменение window, что в браузерном окружении происходить не должно. Так что поидее такой кейс не возможен. Хотя благодаря $ нельзя быть 100% увереным
источник

AP

Alexander Ponomarev in Svelte [svelt]
он тригернется на изменении root, rootMargin, threshold
источник

A

Arushwl in Svelte [svelt]
Вот как раз root: window по дефолту✌🏻🤓 (если не задан)
источник

AP

Alexander Ponomarev in Svelte [svelt]
Konstantin Nosov
он поидее тригерится на изменение window, что в браузерном окружении происходить не должно. Так что поидее такой кейс не возможен. Хотя благодаря $ нельзя быть 100% увереным
короче на первый вгляд модуль какаха, работает только в одном хэпи кейсе типа задали все сразу и не трогали
источник

3

3bl3gamer in Svelte [svelt]
всем привет. как правильно подключить линтер к vscode'у в режиме тайпскрипта?

тут https://github.com/sveltejs/eslint-plugin-svelte3/blob/master/INTEGRATIONS.md#visual-studio-code написано, что надо добавить в конфиг редактора
 "files.associations": {
   "*.svelte": "html"
 }
но тогда блоки <script lang="ts"> считаются за ЖС (не ТС), и везде лезут ошибки типа
Type annotations can only be used in TypeScript files.
источник

AP

Alexander Ponomarev in Svelte [svelt]
3bl3gamer
всем привет. как правильно подключить линтер к vscode'у в режиме тайпскрипта?

тут https://github.com/sveltejs/eslint-plugin-svelte3/blob/master/INTEGRATIONS.md#visual-studio-code написано, что надо добавить в конфиг редактора
 "files.associations": {
   "*.svelte": "html"
 }
но тогда блоки <script lang="ts"> считаются за ЖС (не ТС), и везде лезут ошибки типа
Type annotations can only be used in TypeScript files.
попробуй конфиг по типу такого https://gist.github.com/trash-and-fire/f6598f9f657ef5c8a3d9f72b572858c7
источник

3

3bl3gamer in Svelte [svelt]
и убрать "files.associations"? а то сам линтер-то у меня щас вроде работает как надо
источник

AP

Alexander Ponomarev in Svelte [svelt]
всмысле если линтер звать из консоли то он не находит проблем? а редактор посвечивает?
источник

DK

Dan Kozlov in Svelte [svelt]
3bl3gamer
всем привет. как правильно подключить линтер к vscode'у в режиме тайпскрипта?

тут https://github.com/sveltejs/eslint-plugin-svelte3/blob/master/INTEGRATIONS.md#visual-studio-code написано, что надо добавить в конфиг редактора
 "files.associations": {
   "*.svelte": "html"
 }
но тогда блоки <script lang="ts"> считаются за ЖС (не ТС), и везде лезут ошибки типа
Type annotations can only be used in TypeScript files.
Для нового плагина не надо добавлять ассоциацию вообще, удалите её. .svelte файлы имеют "тип" Svelte
источник

3

3bl3gamer in Svelte [svelt]
Alexander Ponomarev
всмысле если линтер звать из консоли то он не находит проблем? а редактор посвечивает?
да. я так понимаю, это не от линтера сообщение
источник