From 1785a52779991aef75fe4e58be1584db1764689f Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Wed, 23 Feb 2022 11:30:13 +0800 Subject: [PATCH] fix: remove vm hook --- packages/uni-app-plus/dist/uni-app-service.es.js | 4 +++- packages/uni-core/src/helpers/hook.ts | 6 ++++-- packages/uni-h5/dist/uni-h5.es.js | 4 +++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/uni-app-plus/dist/uni-app-service.es.js b/packages/uni-app-plus/dist/uni-app-service.es.js index 96ddd8a68..433b6df9a 100644 --- a/packages/uni-app-plus/dist/uni-app-service.es.js +++ b/packages/uni-app-plus/dist/uni-app-service.es.js @@ -2183,7 +2183,9 @@ var serviceContext = (function (vue) { if (!isArray$1(hooks)) { return; } - remove(hooks, hook); + if (hook.__weh) { + remove(hooks, hook.__weh); + } } function invokeHook(vm, name, args) { if (isString(vm)) { diff --git a/packages/uni-core/src/helpers/hook.ts b/packages/uni-core/src/helpers/hook.ts index 516c11420..648cb2f3d 100644 --- a/packages/uni-core/src/helpers/hook.ts +++ b/packages/uni-core/src/helpers/hook.ts @@ -6,7 +6,7 @@ import { getCurrentPageVm } from './page' export function removeHook( vm: ComponentPublicInstance, name: string, - hook: Function + hook: Function & { __weh?: Function } ) { const hooks = (vm.$ as unknown as { [name: string]: Function[] })[ name as string @@ -14,7 +14,9 @@ export function removeHook( if (!isArray(hooks)) { return } - remove(hooks, hook) + if (hook.__weh) { + remove(hooks, hook.__weh) + } } export function invokeHook(name: string, args?: unknown): unknown diff --git a/packages/uni-h5/dist/uni-h5.es.js b/packages/uni-h5/dist/uni-h5.es.js index bebe10974..67408b2a7 100644 --- a/packages/uni-h5/dist/uni-h5.es.js +++ b/packages/uni-h5/dist/uni-h5.es.js @@ -892,7 +892,9 @@ function removeHook(vm, name, hook) { if (!isArray(hooks)) { return; } - remove(hooks, hook); + if (hook.__weh) { + remove(hooks, hook.__weh); + } } function invokeHook(vm, name, args) { if (isString(vm)) { -- GitLab