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ò)查詢(xún)資料得知,監(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子組件如何修改父組件數(shù)據(jù)的方法及注意事項(xiàng)
這篇文章主要介紹了Vue子組件如何修改父組件數(shù)據(jù)的方法及注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
Vue.js+Layer表格數(shù)據(jù)綁定與實(shí)現(xiàn)更新的實(shí)例
下面小編就為大家分享一篇Vue.js+Layer表格數(shù)據(jù)綁定與實(shí)現(xiàn)更新的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
Vue3中實(shí)現(xiàn)過(guò)渡動(dòng)畫(huà)的方法小結(jié)
這篇文章主要為大家詳細(xì)介紹了Vue3中實(shí)現(xiàn)過(guò)渡動(dòng)畫(huà)的一些常用方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-10-10
基于Vue?+?ElementUI實(shí)現(xiàn)可編輯表格及校驗(yàn)
這篇文章主要給大家介紹了基于Vue?+?ElementUI?實(shí)現(xiàn)可編輯表格及校驗(yàn),文中有詳細(xì)的代碼講解和實(shí)現(xiàn)思路,講解的非常詳細(xì),有需要的朋友可以參考下2023-08-08
vue init webpack 建vue項(xiàng)目報(bào)錯(cuò)的解決方法
今天小編就為大家分享一篇vue init webpack 建vue項(xiàng)目報(bào)錯(cuò)的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
Vue3數(shù)據(jù)更新,頁(yè)面沒(méi)有同步更新的問(wèn)題及解決
這篇文章主要介紹了Vue3數(shù)據(jù)更新,頁(yè)面沒(méi)有同步更新的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
Vue中.vue文件比main.js先執(zhí)行的問(wèn)題及解決
這篇文章主要介紹了Vue中.vue文件比main.js先執(zhí)行的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
vue-element-admin按鈕級(jí)權(quán)限管控的實(shí)現(xiàn)
開(kāi)發(fā)離不開(kāi)權(quán)限,不同的用戶(hù)登錄,根據(jù)不同的權(quán)限,可以訪問(wèn)不同的管理目錄,本文主要介紹了vue-element-admin按鈕級(jí)權(quán)限管控的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2022-04-04

