diff --git a/packages/runtime-core/src/directives.ts b/packages/runtime-core/src/directives.ts index eea35b64d3a..6f733eadcd6 100644 --- a/packages/runtime-core/src/directives.ts +++ b/packages/runtime-core/src/directives.ts @@ -126,8 +126,9 @@ export function withDirectives( } // inject onVnodeXXX hooks for (const key in dir) { - if (!injected[key]) { - const { 0: hookName, 1: hook } = directiveToVnodeHooksMap[key] + const mapped = directiveToVnodeHooksMap[key] + if (mapped && !injected[key]) { + const { 0: hookName, 1: hook } = mapped const existing = props[hookName] props[hookName] = existing ? [].concat(existing, hook as any) : hook injected[key] = true