1. 程式人生 > >vue中實現移動端的scroll滾動

vue中實現移動端的scroll滾動

一、首先安裝安裝

npm install better-scroll --save

二、 並在元件中引用

import BScroll from ‘better-scroll’

template中引用指向將要滾動的DOM元素

根據官方文件ref屬性的說明,我們可以這樣將DOM元素引用
這裡寫圖片描述

這裡寫圖片描述

三、 在methods中註冊_initScroll方法,這個方法是對better-scroll的例項化,並且這個方法將來會在頁面DOM結構渲染後被執行

   methods: {
      _initScroll(){
        this.menuScroll = new
BScroll(this.$refs.menuWrapper, {}) this.foodsScroll = new BScroll(this.$refs.foodsWrapper, {}) } } }

四、在created()方法中,後臺資料獲取成功之後的回撥中,呼叫_initScroll();

Vue 更新資料時是非同步的,所以在資料未載入完全之前,Bscroll無法獲取目標內容的高度,所以會導致無法滾動的現象
這裡一定要注意,資料獲取成功後,直接Dom不一定是資料獲取之後的渲染,所以要利用this.nextTick()this

.nextTick的回撥中使用_initScroll();

看看官方關於this.$nextTick()的說明
這裡寫圖片描述

所以我們在專案中應該這樣書寫:
這裡寫圖片描述

相關推薦

vue實現移動scroll滾動

一、首先安裝安裝 npm install better-scroll --save 二、 並在元件中引用 import BScroll from ‘better-scroll’ template中引用指向將要滾動的DOM元素 根據官方文件ref

vue 解決移動使用 js sdk 在ios 上一直報invalid signature 的問題解決

  2018年06月13日 14:17:20 嶽小哥 閱讀數:343 最近專案需求,需要一個上傳多張圖片的功能,但是出現的問題是在安卓端是沒有問題的,但是在ios上一直都是 invalid signature,但是重新整理頁面就沒有問題了。 Vue

轉:如何在Vue項目使用vw實現移動適配

作用 -html res 尺寸 3.3 常用 css user 復用 https://www.w3cplus.com/mobile/vw-layout-in-vue.html 有關於移動端的適配布局一直以來都是眾說紛紜,對應的解決方案也是有很多種。在《使用Flexibl

vue實現圖片全屏縮放預覽,支援移動

# 安裝 npm install vue-photo-preview --save   # 引入 import preview from 'vue-photo-preview' import 'vue-photo-preview/dist/skin.css' Vue.use(pr

基於 Vue.js 的移動組件庫mint-ui實現無限滾動加載更多

== spi dex try for ike country ble 頁面 通過多次爬坑,發現了這些監聽滾動來加載更多的組件的共同點, 因為這些加載更多的方法是綁定在需要加載更多的內容的元素上的, 所以是進入頁面則直接觸發一次,當監聽到滾動事件之後,繼續加載更多, 所以對於

vue實現滾動條緩慢向上移動的效果

.vue //用於判斷按鈕何時顯示 <div class="btn-top" v-if="scrollHeight > alarmHeight"> <el-button type="info" icon="el-icon-arrow

使用css實現移動導航條滾動

動態 inline -i 使用 div 導航條 底部 ble pac 1 <div class="tab"> 2 <div class="table-item"> 3 <span class="tab-link">首頁

vue專案禁止移動雙擊放大,雙手拉大放大的方法

在vue打包後生成的dist目錄檔案下下面有index.html 開啟裡面 把原來的這個 <meta name=viewport content="width=device-width,initial-scale=1">    替換成這個就行了 <meta cont

Vue實現移動頁面切換效果

找了好多部落格實現效果都……emmm……   應用Vue自帶的過渡 《 進入/離開 & 列表過渡 》和 巢狀路由 和 fixed定位實現 其實還是挺簡單的。 在子頁面把整個頁面做絕對定位,覆蓋整個螢幕,子父頁面將 router-view 用&n

vue實現滾動載入

需要安裝該外掛: cnpm i vue-infinite-scroll -S   // 生產依賴 --save 等價 在main.js檔案進行引入進來 data中設定 busy:false <

vue實現移動圓形旋鈕外掛

最近公司有一個專案的需要做出旋鈕的效果,旋鈕有十個檔,根據手指旋轉切換,旋轉時接近最近的檔會有吸附效果,具體效果如下: html部分程式碼: <div class="_touch"> <div class="round_box" ref="box" @touchstart

vue-cli3.0結合lib-flexible、px2rem實現移動適配,完美解決第三方ui庫樣式變小問題 vue-cli 3.0 搭建專案流程

公司最近做的一個移動端專案從搭框架到前端開發由我獨立完成,以前做移動端適配用的媒體查詢,這次想用點別的適配方案,然後就採用了vue-cli3.0結合lib-flexible、px2rem實現移動端適配的方案,開發過程中也遇到一些坑,自己選的方案自己填坑吧。以下記錄我的專案框架搭建及填坑方案。 搭建可以參考我

實現移動上拉載入和下拉重新整理的vue外掛(mescroll.js)

做一個簡單的移動端展示專案,後臺分頁後前端載入,實現上拉載入下一頁,找了下,還是用這個mescroll.js外掛好一點 1.npm安裝 npm install --save mescroll.js //不要使用cnpm安裝 匯入(在哪個頁面使用,則在哪個頁面匯入

vue實現移動多格輸入框(h5頁面多格輸入)

近來公司提出需求,完成如下圖h5頁面操作。 網上沒什麼輪子可以使用,就自己徒手擼了一個。不多廢話,直接上程式碼。 <div class="verify-tel"> <h1>簡訊驗證</h1> <h2>SMS Veri

vue實現移動地區城市列表按中文首字母索引

請在移動端除錯模式下預覽 鑑於很多使用的小夥伴說沒封裝不方便使用,現本人已將該列表封裝成元件,但是對資料有一定的格式要求,詳情請見我的另一篇博文。   專案純淨,只有這個功能和瀏覽器自動定位當前地區功能,不是工程專案,下載下來可以直接在瀏覽器開啟看效果,githu

原生JS實現移動模組的左右滑動切換效果,基於vue、stylus

原生JS實現移動端模組的左右滑動動畫效果,基於vue、stylus 大概實現方案: 手指touch螢幕的整個過程,會派發touchstart、touchmove、touchend三個事件,對這三個事件設定相應函式,通過移動過程中位置的變化計算出偏移值,進行對應的設定。 注:

vue實現滾動載入更多

在以前的前端刀耕火種時代要實現滾動載入更多想要大家都是很快實現了,在vue會有一點麻煩,最近自己研究了一下,做了一個簡單的demo,供大家參考: <template> <div> <ul>

使用vue.js 在移動簡單實現的下拉載入更多 和一些常用的js/jq操作和vueFilter,v-if和v-show運用

/**需要引入的js與css檔案*/ <script src="${root}/js/jquery.min.js"></script> <script src="${root}/js/vue.min.js"></script>

vue-cli3.0 使用vw實現移動適配

建立專案 vue create <Project Name> 選擇配置Manually select features babel+ vuex + router 安裝依賴 npm i pos

vue-cli+v-charts實現移動視覺化圖表

  v-charts是餓了麼團隊開源的一款基於Vue和Echarts的圖表工具,在使用 echarts 生成圖表時,經常需要做繁瑣的資料型別轉化、修改複雜的配置項,v-charts 的出現正是為了解決這個痛點。基於 Vue2.0 和 echarts 封裝的 v-charts 圖表元件,只需要統一提供一種對前後