diff --git a/src/Main.js b/src/Main.js index d222143..f40c58e 100755 --- a/src/Main.js +++ b/src/Main.js @@ -35,6 +35,31 @@ export default { } }) + this.$options.multisockets = new Proxy({}, { + deleteProperty: (target, key) => { + Object.keys(this.$options.multisockets[key]).forEach(item => { + Emitter.removeListener(item, this.$options.multisockets[key][item], this) + }) + delete target.key; + return true + } + }) + + Object.keys(connection).forEach(object => { + this.$options.multisockets[object] = new Proxy({}, { + set: (target, key, value) => { + Emitter.addListener(key, value, this) + target[key] = value + return true; + }, + deleteProperty: (target, key) => { + Emitter.removeListener(key, this.$options.multisockets[object][key], this) + delete target.key; + return true + } + }) + }) + if(sockets){ Object.keys(sockets).forEach((key) => { this.$options.sockets[key] = sockets[key]; diff --git a/src/Observer.js b/src/Observer.js index a535843..d9b2a9f 100755 --- a/src/Observer.js +++ b/src/Observer.js @@ -31,6 +31,7 @@ export default class{ onEventWithKey(socket, key){ var super_onevent = socket.onevent; + console.log('super event', super_onevent) socket.onevent = (packet) => { super_onevent.call(socket, packet);