diff --git a/src/reactive.ts b/src/reactive.ts index 20d712c..1c59c7f 100644 --- a/src/reactive.ts +++ b/src/reactive.ts @@ -29,7 +29,7 @@ export function ref(initial: T, options?: RefOptions): Ref { if (ops?.immediate) callback(value, value); return () => result.unsubscribe(callback); }; - result.clear = subs.clear; + result.clear = subs.clear.bind(subs); result.unsubscribe = (callback) => subs.delete(callback); return result; } @@ -53,7 +53,7 @@ export function hook(): Hook { return () => result.unsubscribe(callback); }; result.unsubscribe = (callback) => subs.delete(callback); - result.clear = subs.clear; + result.clear = subs.clear.bind(subs); return result; } @@ -108,6 +108,6 @@ export function computed(getter: () => T, options?: ComputedOptions): Comp result.dispose = () => { while (cleanup.length) cleanup.pop()!(); }; - result.clear = subs.clear; + result.clear = subs.clear.bind(subs); return result; }