From 1111329b411a7fcade67f8fdaece827f4398ed46 Mon Sep 17 00:00:00 2001 From: rhlin Date: Thu, 26 Dec 2024 01:13:47 -0800 Subject: [PATCH] fix(canvas/render): fix unsubscribe error --- packages/canvas/DesignCanvas/src/DesignCanvas.vue | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/canvas/DesignCanvas/src/DesignCanvas.vue b/packages/canvas/DesignCanvas/src/DesignCanvas.vue index 0247818fff..42dd4c8308 100644 --- a/packages/canvas/DesignCanvas/src/DesignCanvas.vue +++ b/packages/canvas/DesignCanvas/src/DesignCanvas.vue @@ -176,16 +176,22 @@ export default { const callbackFns = new Set() const { subscribe, unsubscribe } = useMessage() - const topic = 'locationHistoryChanged' - const callback = (value) => callbackFns.forEach((cb) => cb(value)) + let sub onMounted(() => { - subscribe({ topic, callback }) + sub = subscribe({ + topic: 'locationHistoryChanged', + subscriber: 'canvas_design_canvas_controller', + callback: (value) => callbackFns.forEach((cb) => cb(value)) + }) }) onUnmounted(() => { - unsubscribe({ topic, callback }) + if (sub) { + unsubscribe(sub) + } }) + function addToCallbackFns(cb) { callbackFns.add(cb) return () => callbackFns.delete(cb)