From e410669492615f26f73dea57c20f83ee764704b4 Mon Sep 17 00:00:00 2001 From: weiwei Date: Mon, 26 May 2025 19:09:57 +0800 Subject: [PATCH] useComputed --- src/hooks/useComputed.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/hooks/useComputed.ts diff --git a/src/hooks/useComputed.ts b/src/hooks/useComputed.ts new file mode 100644 index 0000000..c95735a --- /dev/null +++ b/src/hooks/useComputed.ts @@ -0,0 +1,16 @@ +import { computed } from "vue" + +const useComputed = (fn: Function) => { + const map = new Map() + return (...args: any[]) => { + const key = JSON.stringify(args) + if (map.has(key)) { + return map.get(key) + } + const comput = computed(() => fn(...args)) + map.set(key, comput) + return comput + } +} + +export default useComputed