From: Evan You Date: Thu, 12 May 2022 23:29:28 +0000 (+0800) Subject: fix(runtime-core): clone root vnode before inheriting directives X-Git-Tag: v3.2.34-beta.1~33 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d36ca4d80e297056f6c78cd7e3bc2004e0b58660;p=thirdparty%2Fvuejs%2Fcore.git fix(runtime-core): clone root vnode before inheriting directives --- diff --git a/packages/runtime-core/src/componentRenderUtils.ts b/packages/runtime-core/src/componentRenderUtils.ts index ce03b4f6af..8e338c31d6 100644 --- a/packages/runtime-core/src/componentRenderUtils.ts +++ b/packages/runtime-core/src/componentRenderUtils.ts @@ -215,6 +215,8 @@ export function renderComponentRoot( `The directives will not function as intended.` ) } + // clone before mutating since the root may be a hoisted vnode + root = cloneVNode(root) root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs } // inherit transition data