vue中實(shí)現(xiàn)移動(dòng)端的scroll滾動(dòng)方法
一、首先安裝安裝
npm install better-scroll --save
二、 并在組件中引用
import BScroll from ‘better-scroll'
template中引用指向?qū)⒁獫L動(dòng)的DOM元素
根據(jù)官方文檔ref屬性的說明,我們可以這樣將DOM元素引用


三、 在methods中注冊(cè)_initScroll方法,這個(gè)方法是對(duì)better-scroll的實(shí)例化,并且這個(gè)方法將來會(huì)在頁面DOM結(jié)構(gòu)渲染后被執(zhí)行
methods: {
_initScroll(){
this.menuScroll = new BScroll(this.$refs.menuWrapper, {})
this.foodsScroll = new BScroll(this.$refs.foodsWrapper, {})
}
}
}
四、在created()方法中,后臺(tái)數(shù)據(jù)獲取成功之后的回調(diào)中,調(diào)用_initScroll();
Vue 更新數(shù)據(jù)時(shí)是異步的,所以在數(shù)據(jù)未加載完全之前,Bscroll無法獲取目標(biāo)內(nèi)容的高度,所以會(huì)導(dǎo)致無法滾動(dòng)的現(xiàn)象
這里一定要注意,數(shù)據(jù)獲取成功后,直接Dom不一定是數(shù)據(jù)獲取之后的渲染,所以要利用this.nextTick()方法,在this.nextTick的回調(diào)中使用_initScroll();
看看官方關(guān)于this.$nextTick()的說明

所以我們?cè)陧?xiàng)目中應(yīng)該這樣書寫:

以上這篇vue中實(shí)現(xiàn)移動(dòng)端的scroll滾動(dòng)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
淺談Vue.nextTick 的實(shí)現(xiàn)方法
本篇文章主要介紹了Vue.nextTick 的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10
Vue3哈希模式實(shí)現(xiàn)錨點(diǎn)導(dǎo)航方式
這篇文章主要介紹了Vue3哈希模式實(shí)現(xiàn)錨點(diǎn)導(dǎo)航方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
vue頁面回退或關(guān)閉,發(fā)送請(qǐng)求不中斷問題
這篇文章主要介紹了vue頁面回退或關(guān)閉,發(fā)送請(qǐng)求不中斷問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
vue-cli打包后本地運(yùn)行dist文件中的index.html操作
這篇文章主要介紹了vue-cli打包后本地運(yùn)行dist文件中的index.html操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08

