啊鑫
7 天以前 fca192d3c38c5dcfbb6ace8bc71d6078f6a079b2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
"use strict";
 
exports.__esModule = true;
exports.BindEventMixin = BindEventMixin;
 
var _event = require("../utils/dom/event");
 
/**
 * Bind event when mounted or activated
 */
var uid = 0;
 
function BindEventMixin(handler) {
  var key = "binded_" + uid++;
 
  function bind() {
    if (!this[key]) {
      handler.call(this, _event.on, true);
      this[key] = true;
    }
  }
 
  function unbind() {
    if (this[key]) {
      handler.call(this, _event.off, false);
      this[key] = false;
    }
  }
 
  return {
    mounted: bind,
    activated: bind,
    deactivated: unbind,
    beforeDestroy: unbind
  };
}