@@ -564,10 +564,6 @@ export function applyOptions(
564
564
const ctx = instance . ctx
565
565
const globalMixins = instance . appContext . mixins
566
566
567
- if ( asMixin && render && instance . render === NOOP ) {
568
- instance . render = render as InternalRenderFunction
569
- }
570
-
571
567
// applyOptions is called non-as-mixin once per instance
572
568
if ( ! asMixin ) {
573
569
shouldCacheAccess = false
@@ -745,19 +741,6 @@ export function applyOptions(
745
741
} )
746
742
}
747
743
748
- // asset options.
749
- // To reduce memory usage, only components with mixins or extends will have
750
- // resolved asset registry attached to instance.
751
- if ( asMixin ) {
752
- resolveInstanceAssets ( instance , options , COMPONENTS )
753
- resolveInstanceAssets ( instance , options , DIRECTIVES )
754
- if ( __COMPAT__ && isCompatEnabled ( DeprecationTypes . FILTERS , instance ) ) {
755
- resolveInstanceAssets ( instance , options , FILTERS )
756
- }
757
-
758
- if ( inheritAttrs !== undefined ) instance . inheritAttrs = inheritAttrs
759
- }
760
-
761
744
// lifecycle options
762
745
if ( ! asMixin ) {
763
746
callSyncHook (
@@ -831,6 +814,27 @@ export function applyOptions(
831
814
warn ( `The \`expose\` option is ignored when used in mixins.` )
832
815
}
833
816
}
817
+
818
+ // options that are handled when creating the instance but also need to be
819
+ // applied from mixins
820
+ if ( asMixin ) {
821
+ if ( render && instance . render === NOOP ) {
822
+ instance . render = render as InternalRenderFunction
823
+ }
824
+
825
+ if ( inheritAttrs != null && instance . type . inheritAttrs == null ) {
826
+ instance . inheritAttrs = inheritAttrs
827
+ }
828
+
829
+ // asset options.
830
+ // To reduce memory usage, only components with mixins or extends will have
831
+ // resolved asset registry attached to instance.
832
+ resolveInstanceAssets ( instance , options , COMPONENTS )
833
+ resolveInstanceAssets ( instance , options , DIRECTIVES )
834
+ if ( __COMPAT__ && isCompatEnabled ( DeprecationTypes . FILTERS , instance ) ) {
835
+ resolveInstanceAssets ( instance , options , FILTERS )
836
+ }
837
+ }
834
838
}
835
839
836
840
function resolveInstanceAssets (
0 commit comments