指令被销毁时是否删除了侦听器?

时间:2017-05-26 08:47:35

标签: vue.js

这是指令的简单选项对象。当指令被销毁时,事件监听器会发生什么?它被卡在内存中还是被删除了?

export default {
  inserted (el) {
    el.addEventListener('click', function () {
      console.log('Click!')
    })
  }
}

1 个答案:

答案 0 :(得分:5)

不,这是你的责任,在unbind挂钩

function listener () {
  console.log('Click!')
}

export default {
  inserted (el) {
    el.addEventListener('click', listener)
  },
  unbind(el) {
    el.removeEventListener('click', listener)
  }
}