|
|
@@ -567,17 +567,14 @@ export function applyOptions(
|
|
|
errorCaptured,
|
|
|
serverPrefetch,
|
|
|
// public API
|
|
|
- expose
|
|
|
+ expose,
|
|
|
+ inheritAttrs
|
|
|
} = options
|
|
|
|
|
|
const publicThis = instance.proxy!
|
|
|
const ctx = instance.ctx
|
|
|
const globalMixins = instance.appContext.mixins
|
|
|
|
|
|
- if (asMixin && render && instance.render === NOOP) {
|
|
|
- instance.render = render as InternalRenderFunction
|
|
|
- }
|
|
|
-
|
|
|
// applyOptions is called non-as-mixin once per instance
|
|
|
if (!asMixin) {
|
|
|
shouldCacheAccess = false
|
|
|
@@ -755,17 +752,6 @@ export function applyOptions(
|
|
|
})
|
|
|
}
|
|
|
|
|
|
- // asset options.
|
|
|
- // To reduce memory usage, only components with mixins or extends will have
|
|
|
- // resolved asset registry attached to instance.
|
|
|
- if (asMixin) {
|
|
|
- resolveInstanceAssets(instance, options, COMPONENTS)
|
|
|
- resolveInstanceAssets(instance, options, DIRECTIVES)
|
|
|
- if (__COMPAT__ && isCompatEnabled(DeprecationTypes.FILTERS, instance)) {
|
|
|
- resolveInstanceAssets(instance, options, FILTERS)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
// lifecycle options
|
|
|
if (!asMixin) {
|
|
|
callSyncHook(
|
|
|
@@ -831,6 +817,27 @@ export function applyOptions(
|
|
|
warn(`The \`expose\` option is ignored when used in mixins.`)
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ // options that are handled when creating the instance but also need to be
|
|
|
+ // applied from mixins
|
|
|
+ if (asMixin) {
|
|
|
+ if (render && instance.render === NOOP) {
|
|
|
+ instance.render = render as InternalRenderFunction
|
|
|
+ }
|
|
|
+
|
|
|
+ if (inheritAttrs != null && instance.type.inheritAttrs == null) {
|
|
|
+ instance.inheritAttrs = inheritAttrs
|
|
|
+ }
|
|
|
+
|
|
|
+ // asset options.
|
|
|
+ // To reduce memory usage, only components with mixins or extends will have
|
|
|
+ // resolved asset registry attached to instance.
|
|
|
+ resolveInstanceAssets(instance, options, COMPONENTS)
|
|
|
+ resolveInstanceAssets(instance, options, DIRECTIVES)
|
|
|
+ if (__COMPAT__ && isCompatEnabled(DeprecationTypes.FILTERS, instance)) {
|
|
|
+ resolveInstanceAssets(instance, options, FILTERS)
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
function resolveInstanceAssets(
|