fix(runtime-core): align option merge behavior with Vue 2

fix #3566, #2791
This commit is contained in:
Evan You
2021-06-02 14:37:27 -04:00
parent 1e35a860b9
commit e2ca67b59a
9 changed files with 439 additions and 375 deletions

View File

@@ -4,7 +4,11 @@ import {
validateComponentName,
Component
} from './component'
import { ComponentOptions, RuntimeCompilerOptions } from './componentOptions'
import {
ComponentOptions,
MergedComponentOptions,
RuntimeCompilerOptions
} from './componentOptions'
import { ComponentPublicInstance } from './componentPublicInstance'
import { Directive, validateDirectiveName } from './directives'
import { RootRenderFunction } from './renderer'
@@ -98,7 +102,7 @@ export interface AppContext {
* Each app instance has its own cache because app-level global mixins and
* optionMergeStrategies can affect merge behavior.
*/
cache: WeakMap<ComponentOptions, ComponentOptions>
cache: WeakMap<ComponentOptions, MergedComponentOptions>
/**
* Flag for de-optimizing props normalization
* @internal