]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
fix: beforeUpdate should not be called via onTrigger
authorEvan You <yyx990803@gmail.com>
Thu, 20 Sep 2018 03:56:40 +0000 (23:56 -0400)
committerEvan You <yyx990803@gmail.com>
Thu, 20 Sep 2018 03:56:40 +0000 (23:56 -0400)
packages/core/src/createRenderer.ts

index 0541d1fb5fd1f651aa904fb0e0e79c3e3899de44..6ab6ab42c3cf0d2f5916d9833e96ec45b9b6b6cb 100644 (file)
@@ -1206,9 +1206,8 @@ export function createRenderer(options: RendererOptions) {
         }
       },
       {
-        scheduler: queueUpdate,
-        onTrigger:
-          instance.beforeUpdate && instance.beforeUpdate.bind(instance.$proxy)
+        scheduler: queueUpdate
+        // TODO add API for using onTrigger for component re-render debugging
       }
     )
 
@@ -1237,9 +1236,12 @@ export function createRenderer(options: RendererOptions) {
     container: RenderNode | null,
     isSVG: boolean
   ) {
-    // beforeUpdate is called as the onTrack hook of the instance's reactive
-    // runner
     const prevVNode = instance.$vnode
+
+    if (instance.beforeUpdate) {
+      instance.beforeUpdate.call(instance.$proxy, prevVNode)
+    }
+
     const nextVNode = (instance.$vnode = renderInstanceRoot(instance))
     container =
       container || parentNode(prevVNode.el as RenderNode | RenderFragment)