type DataFn = (vm: ComponentPublicInstance) => any
+export let isInBeforeCreate = false
+
export function applyOptions(
instance: ComponentInternalInstance,
options: ComponentOptions,
// applyOptions is called non-as-mixin once per instance
if (!asMixin) {
+ isInBeforeCreate = true
callSyncHook('beforeCreate', options, publicThis, globalMixins)
+ isInBeforeCreate = false
// global mixins are applied first
applyMixins(instance, globalMixins, deferredData, deferredWatch)
}
ComponentOptionsMixin,
OptionTypesType,
OptionTypesKeys,
- resolveMergedOptions
+ resolveMergedOptions,
+ isInBeforeCreate
} from './componentOptions'
import { normalizePropsOptions } from './componentProps'
import { EmitsOptions, EmitFn } from './componentEmits'
} else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
accessCache![key] = AccessTypes.CONTEXT
return ctx[key]
- } else {
+ } else if (!__FEATURE_OPTIONS_API__ || !isInBeforeCreate) {
accessCache![key] = AccessTypes.OTHER
}
}