vant
Version:
Mobile UI Components built on Vue
29 lines (26 loc) • 519 B
JavaScript
/**
* Bind event when mounted or activated
*/
import { on, off } from '../utils/dom/event';
var uid = 0;
export function BindEventMixin(handler) {
var key = "binded_" + uid++;
function bind() {
if (!this[key]) {
handler.call(this, on, true);
this[key] = true;
}
}
function unbind() {
if (this[key]) {
handler.call(this, off, false);
this[key] = false;
}
}
return {
mounted: bind,
activated: bind,
deactivated: unbind,
beforeDestroy: unbind
};
}