Explorar el Código

fix(watch): remove recorded effect on manual stop (#590)

Yang Mingshan hace 6 años
padre
commit
453e6889da
Se han modificado 1 ficheros con 7 adiciones y 0 borrados
  1. 7 0
      packages/runtime-core/src/apiWatch.ts

+ 7 - 0
packages/runtime-core/src/apiWatch.ts

@@ -217,6 +217,13 @@ function doWatch(
   recordEffect(runner)
   return () => {
     stop(runner)
+    if (instance) {
+      const effects = instance.effects!
+      const index = effects.indexOf(runner)
+      if (index > -1) {
+        effects.splice(index, 1)
+      }
+    }
   }
 }