UNPKG

@cran/vue.use

Version:

Cranberry Vue Use Utilities

13 lines (12 loc) 495 B
/* eslint-disable @typescript-eslint/unified-signatures */ import { useLifecycleWatch } from "../state/useLifecycleWatch"; export function useEventListener(target, eventName, handler, options) { useLifecycleWatch(target, function onChange(next, prev) { if (next) { next.addEventListener(eventName, handler, options); } if (prev) { prev.removeEventListener(eventName, handler, options); } }, { immediate: true, flush: "post", }); }