json-vuer
Version:
a json viewer and editor component for vue
31 lines (22 loc) • 610 B
JavaScript
export default {
listeners:{},
on: function (action, callback, listener=null) {
if (listener) {
callback.bind(listener)
}
if (this.listeners[action]) {
this.listeners[action].push(callback);
} else {
this.listeners[action] = [callback];
}
},
dispatch: function (action, ...data) {
if (!this.listeners[action]) {
console.warn(`Action ${action} not registered`)
return;
}
for (let cb of this.listeners[action]) {
cb(...data);
}
}
}