From: 花果山大圣 <316783812@qq.com> Date: Tue, 8 Nov 2022 06:26:56 +0000 (+0800) Subject: fix(hmr): fix hmr for components managed by keep-alive (#6809) X-Git-Tag: v3.2.42~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bdaf83aae7b5651965870a0646da5ae4e5d96944;p=thirdparty%2Fvuejs%2Fcore.git fix(hmr): fix hmr for components managed by keep-alive (#6809) fix #6222 --- diff --git a/packages/runtime-core/src/components/KeepAlive.ts b/packages/runtime-core/src/components/KeepAlive.ts index 3fec48140f..3bfef7bf9b 100644 --- a/packages/runtime-core/src/components/KeepAlive.ts +++ b/packages/runtime-core/src/components/KeepAlive.ts @@ -31,6 +31,7 @@ import { invokeArrayFns } from '@vue/shared' import { watch } from '../apiWatch' +import { hmrDirtyComponents } from '../hmr' import { RendererInternals, queuePostRenderEffect, @@ -280,7 +281,9 @@ const KeepAliveImpl: ComponentOptions = { if ( (include && (!name || !matches(include, name))) || - (exclude && name && matches(exclude, name)) + (exclude && name && matches(exclude, name)) || + (__DEV__ && hmrDirtyComponents.has(comp)) + ) { current = vnode return rawVNode