diff --git a/src/component.ts b/src/component.ts index 3ececd9..ed1a47f 100644 --- a/src/component.ts +++ b/src/component.ts @@ -37,6 +37,9 @@ export class Component { setElementCustomProp(rootEl, COMPONENT_FLAG, this); + const mountedEvent = new CustomEvent('mount'); + rootEl.dispatchEvent(mountedEvent); + return this.state; } diff --git a/src/core/render.ts b/src/core/render.ts index a79e30c..8e2c1a1 100644 --- a/src/core/render.ts +++ b/src/core/render.ts @@ -55,6 +55,12 @@ const render = ( } } } + + // Effect is like a watcher but detects changes to an el + if (node.directives['on:effect']) { + const effectEvent = new CustomEvent('effect'); + node.el.dispatchEvent(effectEvent); + } } })(); };