vue實(shí)現(xiàn)滾動(dòng)底部加載下一頁指令的示例代碼
vue中監(jiān)控滾動(dòng)事件可以直接在mounted中綁定滾動(dòng)事件,然后在銷毀前解綁滾動(dòng)事件,例如:
<script> export default { mounted() { //我這里的事例監(jiān)聽的是window的滾動(dòng)事件 window.addEventListener('scroll', this.showbtn) }, destroyed() { window.removeEventListener('scroll', this.showbtn) }, methods:{ showbtn() { //滾動(dòng)事件的代碼 } } } </script>
但是如果在項(xiàng)目中用的比較多的話,每個(gè)頁面都這樣寫就有點(diǎn)不合適了。那這個(gè)時(shí)候可以把滾動(dòng)事件自定義成指令
Vue.directive('scroll',{ bind(el,binding) { let p = 0 let t = 0 let down = true let timer = null el.handler = () => { p = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop if (t < p) { down = true } else { down = false } t = p let sign = 10 let scrollHeight=document.documentElement.scrollHeight//滾動(dòng)條的高度 let clientHeight=document.documentElement.clientHeight//瀏覽器的可視高度 const scrollDistance = scrollHeight -p -clientHeight if (scrollDistance < sign && down) { if (timer) clearTimeout(timer) timer = setTimeout(() => { binding.value() }, 300) } } setTimeout(() => { window.addEventListener('scroll',el.handler) },1000) }, //只有綁定不解綁的話,會(huì)出現(xiàn)在頁面加載的時(shí)候調(diào)用之前請(qǐng)求過的接口的情況,所以加上解綁比較好 unbind(el) { window.removeEventListener('scroll',el.handler) } })
到此這篇關(guān)于vue實(shí)現(xiàn)滾動(dòng)底部加載下一頁指令的文章就介紹到這了,更多相關(guān)vue滾動(dòng)底部加載內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vscode關(guān)閉Eslint語法檢查的多種方式(保證有效)
eslint是一個(gè)JavaScript的校驗(yàn)插件,通常用來校驗(yàn)語法或代碼的書寫風(fēng)格,下面這篇文章主要給大家介紹了關(guān)于Vscode關(guān)閉Eslint語法檢查的多種方式,文章通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07關(guān)于el-select組件設(shè)置默認(rèn)值的實(shí)現(xiàn)方式
這篇文章主要介紹了關(guān)于el-select組件設(shè)置默認(rèn)值的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09element-ui?tree?異步樹實(shí)現(xiàn)勾選自動(dòng)展開、指定展開、指定勾選功能
這篇文章主要介紹了element-ui?tree?異步樹實(shí)現(xiàn)勾選自動(dòng)展開、指定展開、指定勾選,項(xiàng)目中用到了vue的element-ui框架,用到了el-tree組件,由于數(shù)據(jù)量很大,使用了數(shù)據(jù)懶加載模式,即異步樹,需要的朋友可以參考下2022-08-08vue3中實(shí)現(xiàn)文本顯示省略號(hào)和tooltips提示框的方式詳解
在?B?端業(yè)務(wù)中,我們經(jīng)常會(huì)遇到文本內(nèi)容超出容器區(qū)域需顯示省略號(hào)的需求,當(dāng)鼠標(biāo)移入文本時(shí),會(huì)出現(xiàn)?Tooltip?顯示完整內(nèi)容,最近,我也遇到了這樣的場(chǎng)景,接下來給大家介紹vue3中實(shí)現(xiàn)文本顯示省略號(hào)和tooltips提示框的方式,需要的朋友可以參考下2024-04-04Vue中axios的封裝(報(bào)錯(cuò)、鑒權(quán)、跳轉(zhuǎn)、攔截、提示)
這篇文章主要介紹了Vue中axios的封裝(報(bào)錯(cuò)、鑒權(quán)、跳轉(zhuǎn)、攔截、提示),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08vscode 開發(fā)Vue項(xiàng)目的方法步驟
這篇文章主要介紹了vscode 開發(fā)Vue項(xiàng)目的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11