|
@@ -42,6 +42,12 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ handlerAdded: false
|
|
|
+ };
|
|
|
+ },
|
|
|
+
|
|
|
beforeCreate() {
|
|
|
if (this.$isServer) return;
|
|
|
|
|
@@ -77,7 +83,7 @@ export default {
|
|
|
if (!this.$slots.default || !this.$slots.default.length) return this.$slots.default;
|
|
|
|
|
|
const vnode = getFirstComponentChild(this.$slots.default);
|
|
|
- if (!vnode) return vnode;
|
|
|
+ if (!vnode || this.handlerAdded) return vnode;
|
|
|
const data = vnode.data = vnode.data || {};
|
|
|
const on = vnode.data.on = vnode.data.on || {};
|
|
|
const nativeOn = vnode.data.nativeOn = vnode.data.nativeOn || {};
|
|
@@ -97,6 +103,7 @@ export default {
|
|
|
|
|
|
methods: {
|
|
|
addEventHandle(old, fn) {
|
|
|
+ this.handlerAdded = true;
|
|
|
return old ? Array.isArray(old) ? old.concat(fn) : [old, fn] : fn;
|
|
|
},
|
|
|
|