vue實現滾動底部加載下一頁指令的示例代碼
更新時間:2023年10月09日 15:20:27 作者:舊城夢空
vue中監(jiān)控滾動事件可以直接在mounted中綁定滾動事件,然后在銷毀前解綁滾動事件,本文通過實例代碼介紹vue實現滾動底部加載下一頁指令的過程,感興趣的朋友跟隨小編一起看看吧
vue中監(jiān)控滾動事件可以直接在mounted中綁定滾動事件,然后在銷毀前解綁滾動事件,例如:
<script> export default { mounted() { //我這里的事例監(jiān)聽的是window的滾動事件 window.addEventListener('scroll', this.showbtn) }, destroyed() { window.removeEventListener('scroll', this.showbtn) }, methods:{ showbtn() { //滾動事件的代碼 } } } </script>
但是如果在項目中用的比較多的話,每個頁面都這樣寫就有點不合適了。那這個時候可以把滾動事件自定義成指令
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//滾動條的高度 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) }, //只有綁定不解綁的話,會出現在頁面加載的時候調用之前請求過的接口的情況,所以加上解綁比較好 unbind(el) { window.removeEventListener('scroll',el.handler) } })
到此這篇關于vue實現滾動底部加載下一頁指令的文章就介紹到這了,更多相關vue滾動底部加載內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
element-ui?tree?異步樹實現勾選自動展開、指定展開、指定勾選功能
這篇文章主要介紹了element-ui?tree?異步樹實現勾選自動展開、指定展開、指定勾選,項目中用到了vue的element-ui框架,用到了el-tree組件,由于數據量很大,使用了數據懶加載模式,即異步樹,需要的朋友可以參考下2022-08-08vue3中實現文本顯示省略號和tooltips提示框的方式詳解
在?B?端業(yè)務中,我們經常會遇到文本內容超出容器區(qū)域需顯示省略號的需求,當鼠標移入文本時,會出現?Tooltip?顯示完整內容,最近,我也遇到了這樣的場景,接下來給大家介紹vue3中實現文本顯示省略號和tooltips提示框的方式,需要的朋友可以參考下2024-04-04