diff --git a/src/core/runtime/wrapper/util.js b/src/core/runtime/wrapper/util.js index 9decf3896188f55ad91b68bdfb3693a6104b0a0d..79db9f980547278799fffa4638d9ceb6aef0d851 100644 --- a/src/core/runtime/wrapper/util.js +++ b/src/core/runtime/wrapper/util.js @@ -287,11 +287,12 @@ function wrapper (event) { event.target = event.target || {} - if (!hasOwn(event, 'detail') || !event.detail) { + if (!hasOwn(event, 'detail')) { event.detail = {} } - if (hasOwn(event, 'markerId') && !hasOwn(event.detail, 'markerId')) { + if (hasOwn(event, 'markerId')) { + event.detail = typeof event.detail === 'object' ? event.detail : {} event.detail.markerId = event.markerId } diff --git a/src/platforms/mp-alipay/runtime/wrapper/util.js b/src/platforms/mp-alipay/runtime/wrapper/util.js index ecf5b0f0db47d1e5725bf50c0e2515c6d07da676..7b35f4b03d45c659500f4e9f908a5b5bce76afae 100644 --- a/src/platforms/mp-alipay/runtime/wrapper/util.js +++ b/src/platforms/mp-alipay/runtime/wrapper/util.js @@ -59,10 +59,8 @@ export function initSpecialMethods (mpInstance) { specialMethods.forEach(method => { if (isFn(mpInstance.$vm[method])) { mpInstance[method] = function (event) { - if (!hasOwn(event, 'detail') || !event.detail) { - event.detail = {} - } - if (hasOwn(event, 'markerId') && !hasOwn(event.detail, 'markerId')) { + if (hasOwn(event, 'markerId')) { + event.detail = typeof event.detail === 'object' ? event.detail : {} event.detail.markerId = event.markerId } // TODO normalizeEvent