From: Evan You Date: Fri, 9 Nov 2018 23:08:53 +0000 (-0500) Subject: wip: fix insertBefore X-Git-Tag: v3.0.0-alpha.0~1036 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5639022f80e7a80f07eb94e1ec8a4ebc4df81251;p=thirdparty%2Fvuejs%2Fcore.git wip: fix insertBefore --- diff --git a/packages/runtime-core/src/createRenderer.ts b/packages/runtime-core/src/createRenderer.ts index a6f750c025..fd6452346e 100644 --- a/packages/runtime-core/src/createRenderer.ts +++ b/packages/runtime-core/src/createRenderer.ts @@ -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]) } } diff --git a/packages/scheduler/src/experimental.ts b/packages/scheduler/src/experimental.ts index 6f2a0eb737..e7a010b12e 100644 --- a/packages/scheduler/src/experimental.ts +++ b/packages/scheduler/src/experimental.ts @@ -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