From ff77b2f0a02a1f4103d2c2fcfc0fafa22b795274 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Sun, 20 Apr 2025 16:30:52 +0800
Subject: [PATCH] feat:hook中watch增加清除

---
 src/hooks/useTaskWayline/useTaskWayline.js |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/hooks/useTaskWayline/useTaskWayline.js b/src/hooks/useTaskWayline/useTaskWayline.js
index df11f81..9855e18 100644
--- a/src/hooks/useTaskWayline/useTaskWayline.js
+++ b/src/hooks/useTaskWayline/useTaskWayline.js
@@ -24,6 +24,8 @@
 export function useTaskWayline () {
   let viewer = null
   let deviceOsdInfo = null
+  let taskWatch = null
+  let deviceWatch = null
 
   // 解析kmz文件
   const parsingFiles = async url => {
@@ -178,7 +180,9 @@
     viewer = v
     deviceOsdInfo = computed(() => wsInfo.value?.device_osd)
 
-    watch(taskDetails,
+    taskWatch?.()
+
+    taskWatch = watch(taskDetails,
       () => {
         if (taskDetails.value?.way_lines?.length) {
           parsingFiles(taskDetails.value.way_lines[0].url)
@@ -187,7 +191,9 @@
       { immediate: true }
     )
 
-    watch(deviceOsdInfo, () => {
+    deviceWatch?.()
+
+    deviceWatch = watch(deviceOsdInfo, () => {
       const host = deviceOsdInfo.value?.data?.host
 
       if (!host) return
@@ -206,6 +212,9 @@
   onBeforeUnmount(() => {
     mapEntityRemove()
     removeEntitys()
+
+    taskWatch?.()
+    deviceWatch?.()
   })
 
   return {

--
Gitblit v1.9.3