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

fix(wxs): ownerInstance

上级 7ca0f9cf
......@@ -48,8 +48,8 @@ export default {
return $event
}
Vue.prototype.$getComponentDescriptor = function (vm, owner = false) {
return createComponentDescriptor(vm || this, owner)
Vue.prototype.$getComponentDescriptor = function (vm) {
return createComponentDescriptor(vm || this)
}
Vue.prototype.$handleWxsEvent = function ($event) {
......@@ -57,7 +57,7 @@ export default {
const currentTarget = $event.currentTarget
const instance = currentTarget &&
currentTarget.__vue__ &&
currentTarget.__vue__.$getComponentDescriptor(null, true)
currentTarget.__vue__.$getComponentDescriptor()
$event = processEvent.call(this, $event.type, $event, {}, findUniTarget($event, this.$el) || $event.target,
$event.currentTarget)
$event.instance = instance
......
......@@ -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) {
const key = owner ? '__wxsComponentDescriptorOwner' : '__wxsComponentDescriptor'
if (!vm.$el[key]) {
vm.$el[key] = new ComponentDescriptor(vm)
if (!vm.$el.__wxsComponentDescriptor) {
vm.$el.__wxsComponentDescriptor = 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.
先完成此消息的编辑!
想要评论请 注册