]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
wip: fix insertBefore
authorEvan You <yyx990803@gmail.com>
Fri, 9 Nov 2018 23:08:53 +0000 (18:08 -0500)
committerEvan You <yyx990803@gmail.com>
Fri, 9 Nov 2018 23:08:53 +0000 (18:08 -0500)
packages/runtime-core/src/createRenderer.ts
packages/scheduler/src/experimental.ts

index a6f750c025ce57a348debaec24e13ee2724f0639..fd6452346e9d3ca453458463e49cd4f282e04613 100644 (file)
@@ -113,7 +113,7 @@ export function createRenderer(options: RendererOptions) {
     if (refNode === null) {
       queueNodeOp([platformAppendChild, container, newNode])
     } else {
-      queueNodeOp([platformInsertBefore, newNode, refNode])
+      queueNodeOp([platformInsertBefore, container, newNode, refNode])
     }
   }
 
index 6f2a0eb737628bacfa7bc076dfd9d5837edfac3e..e7a010b12e63c5cc3cc9857d3d89cf00e2292955 100644 (file)
@@ -1,7 +1,5 @@
 // TODO infinite updates detection
 
-// import { Op } from './patchNodeOps'
-
 type Op = [Function, ...any[]]
 
 const enum Priorities {
@@ -180,9 +178,10 @@ function flush(): void {
     // now we are really done
     hasPendingFlush = false
     pendingRejectors.length = 0
-    while ((job = nextTickQueue.shift())) {
-      job()
+    for (let i = 0; i < nextTickQueue.length; i++) {
+      nextTickQueue[i]()
     }
+    nextTickQueue.length = 0
   } else {
     // got more job to do
     // shouldn't reach here in compat mode, because the patchQueue is