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

时间:2021-09-29 04:36:59

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

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

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

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

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

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

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