av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

解決vue 給window添加和移除resize事件遇到的坑

瀏覽:123日期:2022-12-31 18:16:27

在vue項(xiàng)目中需要監(jiān)聽window窗口變化來(lái)時(shí)時(shí)計(jì)算圖片的高度,于是就加了一個(gè)監(jiān)聽事件;確實(shí)監(jiān)聽到了,但是在離開當(dāng)前頁(yè)面進(jìn)入其他頁(yè)面改變窗口大小時(shí)發(fā)現(xiàn)window還是處于監(jiān)聽狀態(tài),即移除監(jiān)聽事件并沒有生效。

//之前的寫法,這樣寫移除監(jiān)聽事件無(wú)效 mounted(){ window.addEventListener(’resize’,()=>{ ’改變窗口大小時(shí)需要做的處理’ }); }, beforeDestroy() { window.removeEventListener('resize'); }

后來(lái)查找相關(guān)資料后發(fā)現(xiàn)用下面這種寫法可以移除監(jiān)聽

methods: { listenResize(){ ’窗口大小改變時(shí)的操作’ } }, mounted(){ window.addEventListener(’resize’,this.listenResize); }, beforeDestroy() { window.removeEventListener('resize',this.listenResize); }

補(bǔ)充知識(shí):vue 監(jiān)聽屏幕變化 & 銷毀監(jiān)聽事件

記一次小坑.

由于用到 echarts 需要自適應(yīng)屏幕,所以在vue中用了監(jiān)聽事件并且考慮到性能問(wèn)題,所以用lodash 庫(kù)的 debounce 做了包裹.代碼如下:

mounted() { window.addEventListener(’resize’, debounce(this.resize,200), true)},beforeDestroy() { window.removeEventListener(’resize’, this.resize, true)},methods: { resize() { this.radarChart.resize() }}

然而發(fā)現(xiàn)切換到其他的頁(yè)面的時(shí)候,屏幕改變的時(shí)候還是會(huì)觸發(fā) resize 事件,因?yàn)橹皩戇^(guò)類似功能,代碼是沒有問(wèn)題的,但是就是會(huì)觸發(fā),心里也是覺得奇怪,研究了一下,發(fā)現(xiàn) addEventListener 的方法里面不加 debounce 就可以了.如下:

mounted() { window.addEventListener(’resize’, this.resize, true)},beforeDestroy() { window.removeEventListener(’resize’, this.resize, true)},methods: { resize: debounce(function() { this.radarChart.resize() }, 300), }

debounce 需要加在 methods 里面.并且內(nèi)部函數(shù)體不能使用箭頭函數(shù),否則會(huì)報(bào) this undefined 的問(wèn)題

以上這篇解決vue 給window添加和移除resize事件遇到的坑就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 国产综合视频 | 精品成人| 一区二区三区精品 | 欧美亚洲一区二区三区 | 免费一级欧美在线观看视频 | 污片在线免费观看 | 一区二区三区视频免费看 | 欧美一级特黄aaa大片在线观看 | 尤物在线精品视频 | 精品久久影院 | 精品国产一级片 | 免费观看日韩av | 国产美女在线观看 | 黄色网址免费在线观看 | 正在播放国产精品 | 国产在线看片 | 国产乱码久久久久久一区二区 | 国产成人精品久久二区二区91 | 日本小电影网站 | 成人精品一区二区三区 | 国产日韩欧美一区 | 亚洲国产精品久久久久婷婷老年 | 欧美日韩综合 | 人人玩人人添人人澡欧美 | 久操伊人| 9久久婷婷国产综合精品性色 | 在线不卡一区 | 特黄视频 | 日韩在线观看一区 | 国产一级一级毛片 | 久久久久一区 | 久草免费电影 | 国产精品无码久久久久 | 国产精品视频中文字幕 | 91精品国产乱码久久久 | 中文无码日韩欧 | 日韩在线一区二区三区 | 亚洲三级在线 | 欧美一区二区三区一在线观看 | 精品九九久久 | 久久亚洲综合 |