中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue中的addEventListener和removeEventListener怎么使用

發布時間:2022-07-02 13:58:29 來源:億速云 閱讀:825 作者:iii 欄目:開發技術

本篇內容介紹了“vue中的addEventListener和removeEventListener怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

addEventListener和removeEventListener用法說明

1、添加監聽事件(addEventListener)

語法:element.addEventListener(event, function, useCapture)

  • event:指定事件名(注意: 不要使用 "on" 前綴。 例如,使用 "click" ,而不是使用 "onclick")

  • function:指定要事件觸發時執行的函數(事件對象會作為第一個參數傳入函數)

  • useCapture:指定事件是否在捕獲或冒泡階段執行,默認false(true - 事件句柄在捕獲階段執行,false-事件句柄在冒泡階段執行)

mounted() {
    window.addEventListener("resize", this.setNavLeft);
},
methods: {
    listenerFunction(e) {
      document.addEventListener("scroll", this.handleScroll, true);
    },
}

2、移出監聽事件(removeEventListener)

語法:element.removeEventListener(event, function, useCapture)

注意:在vue中銷毀事件監聽,一定要在destroyed生命周期中執行,在 beforeDestroy到destroyed之間,執行組件事件拆卸,在beforeDestroy中執行事件銷毀是成功不了的

destroyed() {
    document.removeEventListener("scroll", this.handleScroll, true);
    window.removeEventListener("resize", this.setNavLeft);
  },

使用addEventListener添加事件、removeEventListener移除事件

最近在項目中需要用到addEventListener監聽滾動條滾動的高度,所以就研究了一下在vue中是怎么進行事件監聽的。

添加事件

給要添加事件的元素加上ref屬性

vue中的addEventListener和removeEventListener怎么使用

在mounted中添加事件

    mounted() {
      this.$refs.box.addEventListener('scroll',()=>{
        console.log('scroll',this.$refs.box.scrollTop)
      });
    }

這樣就添加成功了!

vue中的addEventListener和removeEventListener怎么使用

移除事件

如果要移除已添加的事件,removeEventListener中傳入的方法必須和addEventListener中傳入的是同一個方法才能成功移除,所以在添加時就不能用匿名函數啦。需改成如下寫法

    mounted() {
      this.$refs.box.addEventListener('scroll',this.scrollEvent);
    },
    methods:{
      scrollEvent(){
        console.log('scroll',this.$refs.box.scrollTop)
      }
    }

這里要注意 傳入的方法 this.scrollEvent 后面不能加括號,否則無法成功添加

組件銷毀前移除事件

    beforeDestroy() {
      this.$refs.box.removeEventListener('scroll',this.scrollEvent);
    }

如果是keep-alive組件,可以用下面這種方式

  activated() {
    this.$refs.box.addEventListener('scroll', this.scrollEvent);
  },
  deactivated(){
    this.$refs.box.removeEventListener('scroll',this.scrollEvent);
  },

“vue中的addEventListener和removeEventListener怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

历史| 三门县| 汕尾市| 方正县| 平顶山市| 炉霍县| 榆林市| 白河县| 北碚区| 临沭县| 慈溪市| 酉阳| 厦门市| 布尔津县| 陆丰市| 行唐县| 武汉市| 思茅市| 襄垣县| 卢氏县| 垫江县| 宣威市| 大化| 鹿泉市| 阿荣旗| 延庆县| 滨海县| 全椒县| 通河县| 久治县| 民和| 长宁区| 嘉兴市| 绥化市| 都安| 湘阴县| 淮安市| 新闻| 烟台市| 五寨县| 灵川县|