vue 创建监听,和销毁监听(addEventListener, removeEventListener)

Posted h2zzhou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 创建监听,和销毁监听(addEventListener, removeEventListener)相关的知识,希望对你有一定的参考价值。

最近在做一个有关监听scroll的功能, 发现我添加监听之后一直不起作用:

1
2
mounted() {
    window.addEventListener("scroll"this.setHeadPosition); //this.setHeadPosition方法名
1
 

  后来发现要在后面添加一个true之后才行:

1
2
3
mounted() {
  window.addEventListener("scroll"this.setHeadPosition, true);
},

  而在离开是的时候需要销毁监听: (在destroyed里面销毁), 否则监听会一直存在, 因为这是单页面应用, 页面并未关闭.

1
2
3
destroyed() {
  window.removeEventListener("scroll"this.setHeadPosition, true);
},

  在销毁的时候一定也要加上true, 否则销毁不起作用.

以上是关于vue 创建监听,和销毁监听(addEventListener, removeEventListener)的主要内容,如果未能解决你的问题,请参考以下文章

vue创建事件总线和销毁事件总线监听$on$offEventBus

vue销毁当前组件的事件监听

vue 在一个页面监听定时用了之后要销毁,不然在其他页面会报错

已销毁的 Vue 组件的 Mixin 仍在监听事件

监听器

javascript 创建和销毁密钥监听器