fix(runtime-core): should call chained mixins and extends (#3040)

fix #3038
This commit is contained in:
HcySunYang
2021-03-26 04:39:57 +08:00
committed by GitHub
parent 86ceef4352
commit b58bb16959
2 changed files with 95 additions and 0 deletions

View File

@@ -839,6 +839,10 @@ function callHookFromExtends(
if (base.extends) {
callHookFromExtends(name, type, base.extends, instance)
}
const chainedMixins = base.mixins
if (chainedMixins) {
callHookFromMixins(name, type, chainedMixins, instance)
}
const baseHook = base[name]
if (baseHook) {
callWithAsyncErrorHandling(baseHook.bind(instance.proxy!), instance, type)
@@ -853,6 +857,10 @@ function callHookFromMixins(
) {
for (let i = 0; i < mixins.length; i++) {
const chainedMixins = mixins[i].mixins
const chainedExtends = mixins[i].extends
if (chainedExtends) {
callHookFromExtends(name, type, chainedExtends, instance)
}
if (chainedMixins) {
callHookFromMixins(name, type, chainedMixins, instance)
}