提交 f1940982 编写于 作者: fxy060608's avatar fxy060608

fix(wxs): ownerInstance

上级 7ca0f9cf
...@@ -48,8 +48,8 @@ export default { ...@@ -48,8 +48,8 @@ export default {
return $event return $event
} }
Vue.prototype.$getComponentDescriptor = function (vm, owner = false) { Vue.prototype.$getComponentDescriptor = function (vm) {
return createComponentDescriptor(vm || this, owner) return createComponentDescriptor(vm || this)
} }
Vue.prototype.$handleWxsEvent = function ($event) { Vue.prototype.$handleWxsEvent = function ($event) {
...@@ -57,7 +57,7 @@ export default { ...@@ -57,7 +57,7 @@ export default {
const currentTarget = $event.currentTarget const currentTarget = $event.currentTarget
const instance = currentTarget && const instance = currentTarget &&
currentTarget.__vue__ && currentTarget.__vue__ &&
currentTarget.__vue__.$getComponentDescriptor(null, true) currentTarget.__vue__.$getComponentDescriptor()
$event = processEvent.call(this, $event.type, $event, {}, findUniTarget($event, this.$el) || $event.target, $event = processEvent.call(this, $event.type, $event, {}, findUniTarget($event, this.$el) || $event.target,
$event.currentTarget) $event.currentTarget)
$event.instance = instance $event.instance = instance
......
...@@ -146,12 +146,15 @@ class ComponentDescriptor { ...@@ -146,12 +146,15 @@ class ComponentDescriptor {
} }
} }
export function createComponentDescriptor (vm, owner = false) { export function createComponentDescriptor (vm) {
if (vm && vm.$options.name && vm.$options.name.indexOf('VUni') === 0) {
// 内置组件需要使用父 vm
vm = vm.$parent
}
if (vm && vm.$el) { if (vm && vm.$el) {
const key = owner ? '__wxsComponentDescriptorOwner' : '__wxsComponentDescriptor' if (!vm.$el.__wxsComponentDescriptor) {
if (!vm.$el[key]) { vm.$el.__wxsComponentDescriptor = new ComponentDescriptor(vm)
vm.$el[key] = new ComponentDescriptor(vm)
} }
return vm.$el[key] return vm.$el.__wxsComponentDescriptor
} }
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册