captain-ui
Version:
有赞vue wap业务组件库
67 lines (52 loc) • 1.34 kB
JavaScript
;
exports.__esModule = true;
exports.default = void 0;
var Event =
/*#__PURE__*/
function () {
function Event(args) {
this.events = {};
}
var _proto = Event.prototype;
_proto.on = function on(name, handler) {
if (typeof name !== 'string' || Object.prototype.toString.call(handler) !== '[object Function]') {
console.warn('传入参数错误');
return false;
}
if (!this.events[name]) {
this.events[name] = [];
}
return this.events[name].push(handler);
};
_proto.trigger = function trigger(name) {
if (typeof name !== 'string') {
console.warn('传入参数错误');
return false;
}
if (!this.events[name]) {
this.events[name] = [];
return false;
}
var eventArr = this.events[name];
var args = Array.prototype.slice.apply(arguments, [1]);
for (var i = 0, length = eventArr.length; i < length; i++) {
eventArr[i](args);
}
};
_proto.off = function off(name, handler) {
if (!name && !handler) {
this.events = {};
return;
}
if (!handler) {
this.events[name] = [];
return;
}
var eventArr = this.events[name];
var index = eventArr.indexOf(handler);
eventArr.splice(index, 1);
};
return Event;
}();
var _default = Event;
exports.default = _default;