diff --git a/packages/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js b/packages/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js index 61b63e03643f3ccaff95afe79b1f01340b483b42..8c6c56515b246d502ca3a2c1ea5f622e463208d9 100644 --- a/packages/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js +++ b/packages/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js @@ -5827,7 +5827,7 @@ function internalMixin(Vue) { Vue.prototype.$emit = function(event) { if (this.$scope && event) { - this.$scope['triggerEvent'](event, { + (this.$scope['_triggerEvent'] || this.$scope['triggerEvent'])(event, { __args__: toArray(arguments, 1) }); } diff --git a/src/platforms/mp-weixin/runtime/index.js b/src/platforms/mp-weixin/runtime/index.js index 3a0de61c3dbca18ac425cc9c13c677fd2a846034..3c4204ae8dfb7dd947094f42101249cacdc156ec 100644 --- a/src/platforms/mp-weixin/runtime/index.js +++ b/src/platforms/mp-weixin/runtime/index.js @@ -14,9 +14,15 @@ const customize = cached((str) => { function initTriggerEvent (mpInstance) { const oldTriggerEvent = mpInstance.triggerEvent - mpInstance.triggerEvent = function (event, ...args) { + const newTriggerEvent = function (event, ...args) { return oldTriggerEvent.apply(mpInstance, [customize(event), ...args]) } + try { + // 京东小程序 triggerEvent 为只读 + mpInstance.triggerEvent = newTriggerEvent + } catch (error) { + mpInstance._triggerEvent = newTriggerEvent + } } function initHook (name, options, isComponent) {