vue項(xiàng)目中onscroll的坑及解決
vue項(xiàng)目中onscroll的坑
在項(xiàng)目中需要監(jiān)聽(tīng)一個(gè)組件的scroll事件,以觸發(fā)到底時(shí)加載更多。
但是實(shí)際操作下來(lái)發(fā)現(xiàn)scroll事件并沒(méi)有被監(jiān)聽(tīng)到。
通過(guò)查詢資料得知,監(jiān)聽(tīng)的目標(biāo)元素element的scroll事件不冒泡。
解決scroll綁定失敗的方法
scroll直接綁定在window的捕獲階段;
window.addEventListener(‘scroll',methodName,true);
還有另外一個(gè)方式:
使用谷歌瀏覽器的開(kāi)發(fā)者工具 performance 錄制滾動(dòng)動(dòng)作,在event log 里查看scroll事件的目標(biāo)元素,給這個(gè)元素綁定scroll事件。
如下圖:
這里我們發(fā)現(xiàn)了scroll事件的目標(biāo)元素是div.info-bottom,我們直接給它綁定scroll事件就可以了。
vue關(guān)于滾動(dòng)事件v-on:scroll
vue關(guān)于滾動(dòng)頁(yè)面
全局監(jiān)聽(tīng)滾動(dòng)
created() { var _this = this; window.addEventListener('scroll',()=>{//觸發(fā)事件},true); }
局部監(jiān)聽(tīng)
<!--添加ref--> <div class="headcol" ref="viewBox"> <table> <thead> <tr > <td v-for="c in list.header"> {{c}} </td> </tr> </thead> <tbody> <tr v-for="r in list.rows"> <td v-for="c in r"> {{c}} </td> </tr> </tbody> </table> </div>
// 首先通過(guò)$refs獲取dom元素 this.box = this.$refs.viewBox // 監(jiān)聽(tīng)這個(gè)dom的scroll事件 this.box.addEventListener('scroll', () => { console.log(this.$refs.viewBox.scrollTop) }, false)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 使用vue-virtual-scroller遇到的問(wèn)題及解決
- Vue中scrollIntoView()方法詳解與實(shí)際運(yùn)用舉例
- vue.js滾動(dòng)條插件vue-scroll的基本用法
- vue?@scroll監(jiān)聽(tīng)滾動(dòng)條事件方式
- vue2.0和mintui-infiniteScroll結(jié)合如何實(shí)現(xiàn)無(wú)線滾動(dòng)加載
- vue中使用scrollTo沒(méi)有效果的完美解決方法
- VUE中使用滾動(dòng)組件-vueSeamlessScroll
- vue中使用scrollTo無(wú)效的解決方法
相關(guān)文章
Vue.js響應(yīng)式數(shù)據(jù)的簡(jiǎn)單實(shí)現(xiàn)方法(一看就會(huì))
Vue最巧妙的特性之一是其響應(yīng)式系統(tǒng),下面這篇文章主要給大家介紹了關(guān)于Vue.js響應(yīng)式數(shù)據(jù)的簡(jiǎn)單實(shí)現(xiàn)方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03vue2+elementUI的el-tree的選中、高亮、定位功能的實(shí)現(xiàn)
這篇文章主要介紹了vue2+elementUI的el-tree的選中、高亮、定位功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09element-ui中el-form-item內(nèi)的el-select該如何自適應(yīng)寬度
自從用了element-ui,確實(shí)好用,該有的組件都有,但是組件間的樣式都固定好了,下面這篇文章主要給大家介紹了關(guān)于element-ui中el-form-item內(nèi)的el-select該如何自適應(yīng)寬度的相關(guān)資料,需要的朋友可以參考下2022-11-11ElementUI 詳細(xì)分析DatePicker 日期選擇器實(shí)戰(zhàn)
這篇文章主要介紹了ElementUI詳細(xì)分析DatePicker 日期選擇器實(shí)戰(zhàn)教程,本文通過(guò)實(shí)例代碼圖文介紹給大家講解的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-08-08vue中watch監(jiān)聽(tīng)路由傳來(lái)的參數(shù)變化問(wèn)題
這篇文章主要介紹了vue中watch監(jiān)聽(tīng)路由傳來(lái)的參數(shù)變化,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07基于vue實(shí)現(xiàn)分頁(yè)組件的示例代碼
分頁(yè)組件是一種用戶界面元素,用于在長(zhǎng)列表或數(shù)據(jù)集中分割內(nèi)容,分頁(yè)組件是每個(gè)開(kāi)發(fā)人員必須掌握的一個(gè)組件,廣泛應(yīng)用在各個(gè)場(chǎng)所,用以用戶方便閱讀等,本文就給大家介紹一下如何基于vue寫(xiě)出的分頁(yè)組件,需要的朋友可以參考下2023-08-08Vue2 SSR渲染根據(jù)不同頁(yè)面修改 meta
本篇文章主要介紹了Vue2 SSR渲染根據(jù)不同頁(yè)面修改 meta,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11VUE 單頁(yè)面使用 echart 窗口變化時(shí)的用法
這篇文章主要介紹了VUE 單頁(yè)面使用 echart 窗口變化時(shí)的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07