From: underfin <2218301630@qq.com> Date: Thu, 13 Aug 2020 16:36:30 +0000 (+0800) Subject: fix(runtime-core): should correctly call `beforeEnter` inside `Suspense` (#1805) X-Git-Tag: v3.0.0-rc.6~49 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bc6f252c4abc72bee29aa4766fc6c5ed0a81d7cd;p=thirdparty%2Fvuejs%2Fcore.git fix(runtime-core): should correctly call `beforeEnter` inside `Suspense` (#1805) fix #1795 --- diff --git a/packages/runtime-core/src/renderer.ts b/packages/runtime-core/src/renderer.ts index 6b3b2cfab1..8627cb00fe 100644 --- a/packages/runtime-core/src/renderer.ts +++ b/packages/runtime-core/src/renderer.ts @@ -752,19 +752,17 @@ function baseCreateRenderer( if (treeOwnerId && treeOwnerId !== scopeId) { hostSetScopeId(el, treeOwnerId + '-s') } - - if (transition && !transition.persisted) { - transition.beforeEnter(el) - } } - - hostInsert(el, container, anchor) // #1583 For inside suspense + suspense not resolved case, enter hook should call when suspense resolved // #1689 For inside suspense + suspense resolved case, just call it const needCallTransitionHooks = (!parentSuspense || (parentSuspense && parentSuspense!.isResolved)) && transition && !transition.persisted + if (needCallTransitionHooks) { + transition!.beforeEnter(el) + } + hostInsert(el, container, anchor) if ( (vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks ||