обсуждение будет, хочу прояснить почему говорил, что события компонента - сахар над колбеками. диспатчинг события родителю - это просто прямые вызовы колбеков событий родителя.
function createEventDispatcher() {
const component = get_current_component();
return (type, detail) => {
const callbacks = component.$$.callbacks[type];
if (callbacks) {
// TODO are there situations where events could be dispatched
// in a server (non-DOM) environment?
const event = custom_event(type, detail);
callbacks.slice().forEach(fn => {
fn.call(component, event);
});
}
};
}
Интересно, для чего тут понадобился кастомное событие? Почему нельзя было напрямую передать аргументы? function createEventDispatcher() { ... return (type, ...args) => { ... if (callbacks) { ... callbacks.slice().forEach(fn => { fn.call(component, ...args) }); } } }
Обсуждают сегодня