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)文章
element?ui?el-calendar日歷組件使用方法總結(jié)
這篇文章主要給大家介紹了關(guān)于element?ui?el-calendar日歷組件使用方法的相關(guān)資料,elementui是一款基于Vue.js的UI框架,其中的日歷組件calendar是elementui中非常常用的組件之一,需要的朋友可以參考下2023-07-07
詳解在Vue中如何使用axios跨域訪問數(shù)據(jù)
本篇文章主要介紹了在Vue中如何使用axios跨域訪問數(shù)據(jù),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07
Vue.js 帶下拉選項(xiàng)的輸入框(Textbox with Dropdown)組件
這篇文章主要介紹了Vue.js 帶下拉選項(xiàng)的輸入框(Textbox with Dropdown)組件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
Vue ECharts直角坐標(biāo)系配置詳細(xì)講解
數(shù)據(jù)的重要性我們大家都知道,就算再小的項(xiàng)目中都可能使用幾個(gè)圖表展示,我最近在做項(xiàng)目的過程中也是需要用到圖表,最后選擇了echarts圖表庫2022-12-12
Vue.js實(shí)現(xiàn)點(diǎn)擊左右按鈕圖片切換
這篇文章主要為大家詳細(xì)介紹了Vue.js實(shí)現(xiàn)點(diǎn)擊左右按鈕圖片切換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
Vue單頁面應(yīng)用中實(shí)現(xiàn)Markdown渲染
這篇文章主要介紹了Vue單頁面應(yīng)用中如何實(shí)現(xiàn)Markdown渲染,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下2021-02-02

