使用vue.js在頁面內(nèi)組件監(jiān)聽scroll事件的方法
思路:scroll在哪兒個組件內(nèi),就在獲取那個dom元素。網(wǎng)上好多思路是
window.addEventListener("scroll", function(){ console.log('scrolling'); });
這是監(jiān)聽不到的!如果你整個網(wǎng)頁可以滑動,或許還可以試試!
對于像我這樣,只在頁面的內(nèi)的一個div內(nèi)要監(jiān)聽的。
實現(xiàn)代碼如下:
第一步:滑動的組件外層的div加 ref="viewBox" 為了通過$refs獲取dom元素
<!--設備列表--> <div class="deviceWrapper" ref="viewBox"> <mu-refresh-control :refreshing="refreshing" :trigger="trigger" @refresh="refresh"/> <div class="demo-grid"> <!--設備列表 手機一行兩列 pad一行4列--> <mu-row> <mu-col v-for="device in devicesList" width="50" tablet="25" desktop="25"> <deviceCardView :device-data="device""></devicelightCardView> </mu-col> </mu-row> </div> <p class="bottomLine" v-bind:class="{bottomLineVisible:isScroll}">---------------------我是有底線的---------------------</p> </div>
第二步:
mounted() { // 通過$refs獲取dom元素 this.box = this.$refs.viewBox // 監(jiān)聽這個dom的scroll事件 this.box.addEventListener('scroll', () => { console.log(" scroll " + this.$refs.viewBox.scrollTop) //以下是我自己的需求,向下滾動的時候顯示“我是有底線的(類似支付寶)” this.isScroll=this.$refs.viewBox.scrollTop>0 }, false) }
ps:具體怎么做,看需求了。只要能打印出來.scrollTop就行了
以上這篇使用vue.js在頁面內(nèi)組件監(jiān)聽scroll事件的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
vue init webpack myproject構建項目 ip不能訪問的解決方法
下面小編就為大家分享一篇vue init webpack myproject構建項目 ip不能訪問的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03element-ui使用導航欄跳轉(zhuǎn)路由的用法詳解
今天小編就為大家分享一篇element-ui使用導航欄跳轉(zhuǎn)路由的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08解讀element ui el-row標簽中的gutter用法
這篇文章主要介紹了解讀element ui el-row標簽中的gutter用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08Vuex的插件vuex-persistedstate數(shù)據(jù)持久化存儲操作
這篇文章主要介紹了Vuex的插件vuex-persistedstate數(shù)據(jù)持久化存儲操作,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-12-12vue-element-admin+flask實現(xiàn)數(shù)據(jù)查詢項目的實例代碼
這篇文章主要介紹了vue-element-admin+flask實現(xiàn)數(shù)據(jù)查詢項目,填寫數(shù)據(jù)庫連接信息和查詢語句,即可展示查詢到的數(shù)據(jù),需要的朋友可以參考下2022-11-11