From d4d7ba53edff566fc21e4ce47098d5c1d45fc9fd Mon Sep 17 00:00:00 2001 From: liwenzhen Date: Fri, 12 Sep 2025 14:33:33 +0800 Subject: [PATCH] unregsiter addmonitor id Signed-off-by: liwenzhen --- .../state_mgmt/src/lib/v2/v2_monitor.ts | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/frameworks/bridge/declarative_frontend/state_mgmt/src/lib/v2/v2_monitor.ts b/frameworks/bridge/declarative_frontend/state_mgmt/src/lib/v2/v2_monitor.ts index 97756555c6c..56c4eeef34f 100644 --- a/frameworks/bridge/declarative_frontend/state_mgmt/src/lib/v2/v2_monitor.ts +++ b/frameworks/bridge/declarative_frontend/state_mgmt/src/lib/v2/v2_monitor.ts @@ -343,12 +343,22 @@ public notifyChangeForEachPath(pathId: number): number { public static getMonitorIds(target: Object): number[] { let meta: Object; - if (!target || typeof target !== 'object' || - !(meta = target[ObserveV2.MONITOR_REFS]) || typeof meta !== 'object') { - return []; + let meta1: Object; + let monitorIds = []; + if (target && typeof target === 'object') { + // get @Monitor id + meta = target[ObserveV2.MONITOR_REFS]; + if (meta && typeof meta === 'object') { + monitorIds = Array.from(Object.values(meta)).map((monitor: MonitorV2) => monitor.watchId_); + } + // get AddMonitor id + meta1 = target[ObserveV2.ADD_MONITOR_REFS]; + if (meta1 && typeof meta1 === 'object') { + monitorIds = [...monitorIds, ...Array.from(Object.values(meta1)).map((monitor: MonitorV2) => monitor.watchId_)]; + } } - return Array.from(Object.values(meta)).map((monitor: MonitorV2) => monitor.watchId_); + return monitorIds; } public static clearWatchesFromTarget(target: Object): void { -- Gitee