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


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

所以我們在項目中應(yīng)該這樣書寫:

以上這篇vue中實現(xiàn)移動端的scroll滾動方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。
新聞熱點
疑難解答