From: Guillaume Chau Date: Fri, 29 Jan 2021 15:48:37 +0000 (+0100) Subject: fix(devtools): send instance to devtools when it's mounted instead of created X-Git-Tag: v3.0.6~71 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4fecb27f8696fdb8f681948543ea81ea62fe43bf;p=thirdparty%2Fvuejs%2Fcore.git fix(devtools): send instance to devtools when it's mounted instead of created --- diff --git a/packages/runtime-core/src/component.ts b/packages/runtime-core/src/component.ts index 3904bbb133..494ae41dc4 100644 --- a/packages/runtime-core/src/component.ts +++ b/packages/runtime-core/src/component.ts @@ -56,7 +56,6 @@ import { markAttrsAccessed } from './componentRenderUtils' import { startMeasure, endMeasure } from './profiling' -import { devtoolsComponentAdded } from './devtools' export type Data = Record @@ -486,10 +485,6 @@ export function createComponentInstance( instance.root = parent ? parent.root : instance instance.emit = emit.bind(null, instance) - if (__DEV__ || __FEATURE_PROD_DEVTOOLS__) { - devtoolsComponentAdded(instance) - } - return instance } diff --git a/packages/runtime-core/src/renderer.ts b/packages/runtime-core/src/renderer.ts index da86040d0a..898ae077d7 100644 --- a/packages/runtime-core/src/renderer.ts +++ b/packages/runtime-core/src/renderer.ts @@ -72,7 +72,11 @@ import { createHydrationFunctions, RootHydrateFunction } from './hydration' import { invokeDirectiveHook } from './directives' import { startMeasure, endMeasure } from './profiling' import { ComponentPublicInstance } from './componentPublicInstance' -import { devtoolsComponentRemoved, devtoolsComponentUpdated } from './devtools' +import { + devtoolsComponentAdded, + devtoolsComponentRemoved, + devtoolsComponentUpdated +} from './devtools' import { initFeatureFlags } from './featureFlags' import { isAsyncWrapper } from './apiAsyncComponent' @@ -1412,6 +1416,10 @@ function baseCreateRenderer( } instance.isMounted = true + if (__DEV__ || __FEATURE_PROD_DEVTOOLS__) { + devtoolsComponentAdded(instance) + } + // #2458: deference mount-only object parameters to prevent memleaks initialVNode = container = anchor = null as any } else {