Size: a a a

Svelte [svelt] - All about Svelte JavaScript framework.

2021 October 11

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
все свелт ивенты нативные
источник

MS

M S in Svelte [svelt] - All about Svelte JavaScript framework.
Вчеоа выяснилось что через createEventDispatcher не нативные
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
нативные, ща покажу
источник

MS

M S in Svelte [svelt] - All about Svelte JavaScript framework.
Нет их. Кроме как в свелт апп.
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
они нативные просто в дом не диспатчатся
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
но создаются они так
    function custom_event(type, detail, bubbles = false) {
       const e = document.createEvent('CustomEvent');
       e.initCustomEvent(type, bubbles, false, detail);
       return e;
   }
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
в целом тебе ничего не мешает делать руками
<button on:click={(e) => e.target.dispatchEvent(new CustomEvent('custom-event', { detail: 'hello world' }))}
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
а не диспатчатся в дом они потому что непонятно в какой таргет их диспатчить
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
если тебе сильно нужно ты можешь сделать свой
function createCustomEventDispatcher() {
      const dispatch = createEventDispatcher();
      return (name, detail, target, bubbles) => {
            dispatch(name, detail);
            target?.dispatchEvent(new CustomEvent(name, { detail, bubbles }));
      };
}

и делать потом (e) => dispatch('custom', 'some-data', e.target, true);
источник

MS

M S in Svelte [svelt] - All about Svelte JavaScript framework.
А смысл? Чем лучше чем dispatchEvent ?
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
тем что свелт колбэки тоже будут работать, которые ты на компонент вешаешь
источник

MS

M S in Svelte [svelt] - All about Svelte JavaScript framework.
Мать его так. Так они не работают на нативных ивентах?
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
лул надо чекнуть, но я не про это
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
Я про это <Component on:custom={doSomething}/> здесь нет дом элемента
источник

MS

M S in Svelte [svelt] - All about Svelte JavaScript framework.
Так что на New Event  ('st') on:sт не отоработает?
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
нет конечно, он отработает только если внутри Component есть dispatch('custom') и createEventDispatcher
источник

MS

M S in Svelte [svelt] - All about Svelte JavaScript framework.
Епта. Не понимаю. На Дом элементах on:custom отлично срабатывает при любой вложенности, а на компонентах нет.
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
ну а на чем компонент должен по твоему слушать дом эвенты? если у него внутри рендерятся еще 2 компнонента и нет ни одного непосредственного дом элемента =)
источник

AP

Alexander Ponomarev in Svelte [svelt] - All about Svelte JavaScript framework.
у Component'а можно слушать только то что диспатчат через createEventDispatcher
источник

MS

M S in Svelte [svelt] - All about Svelte JavaScript framework.
так компонент не фрагмент, должен корневой узел иметь. Нет?
источник