]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
fix(runtime-core): should correctly call `beforeEnter` inside `Suspense` (#1805)
authorunderfin <2218301630@qq.com>
Thu, 13 Aug 2020 16:36:30 +0000 (00:36 +0800)
committerGitHub <noreply@github.com>
Thu, 13 Aug 2020 16:36:30 +0000 (12:36 -0400)
fix #1795

packages/runtime-core/src/renderer.ts

index 6b3b2cfab1c8197200d8d016b3377b4701c691d9..8627cb00fea307ab8c82289fb849c634ec4ae470 100644 (file)
@@ -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 ||