张延森 3 anos atrás
pai
commit
cc31095ada
2 arquivos alterados com 15 adições e 5 exclusões
  1. 3
    3
      src/pages/game/game.js
  2. 12
    2
      src/pages/game/index.vue

+ 3
- 3
src/pages/game/game.js Ver arquivo

@@ -81,7 +81,7 @@ export default function game({ el, center, onError, onSuccess, onBingo }) {
81 81
   const mntMap = {}
82 82
 
83 83
   // 初始化
84
-  const two = new Two({
84
+  let two = new Two({
85 85
     fullscreen: true,
86 86
     autostart: true
87 87
   }).appendTo(el);
@@ -362,11 +362,11 @@ export default function game({ el, center, onError, onSuccess, onBingo }) {
362 362
     stop: () => {
363 363
       isFinished = true;
364 364
     },
365
-    destroy: () => {
366
-    
365
+    destroy: () => {    
367 366
       two.unbind('update');
368 367
       two.pause();
369 368
       el.removeChild(two.renderer.domElement);
369
+      two = null;
370 370
     }
371 371
   }
372 372
 }

+ 12
- 2
src/pages/game/index.vue Ver arquivo

@@ -5,7 +5,7 @@
5 5
 
6 6
 <script setup>
7 7
   import { onBeforeUnmount, onMounted, ref } from 'vue';
8
-import { useRouter } from 'vue-router';
8
+import { useRouter, onBeforeRouteUpdate, onBeforeRouteLeave } from 'vue-router';
9 9
   import FireWorkListVue from '@/components/FireWorkList.vue';
10 10
   import game from "./game.js";
11 11
 
@@ -44,13 +44,23 @@ import { useRouter } from 'vue-router';
44 44
     })
45 45
   }
46 46
 
47
+  onBeforeRouteUpdate(() => {
48
+    console.log('--------ref----<', el)
49
+  })
50
+
51
+  onBeforeRouteLeave(() => {
52
+    console.log('--------onBeforeRouteLeave----<')
53
+  })
54
+
47 55
   onMounted(() => {
48 56
     gameInit()
57
+    console.log('--------onMounted----<', el)
49 58
   })
50 59
 
51 60
   onBeforeUnmount(() => {
61
+    console.log('--------onBeforeUnmount----<', el)
52 62
     if (destroyRef.value) {
53
-      destroyRef.value();
63
+      destroyRef.value.destroy();
54 64
     }
55 65
   })
56 66