vue2中引用 better-scroll的方法

文章主要介紹了vue2中引用better-scroll和使用 better-scroll的方法,使用時有三個要點及注意事項在文中給你們詳細介紹 ,須要的朋友能夠參考下css

使用時有三個要點: 一:html部分html

<div class="example" ref="divScroll">
  <div>
    <p>內容1</p>
    <p>內容2</p>
    <ul>
       <li>list1</li>
       <li>list2</li>
    <ul>
  </div>
</div>

1.最外層加ref,讓better-scroll經過ref來獲取整個div; 2.緊跟一個div,不用加任何樣式或class, 最終能夠滑動的部分就是這個div,這個div必須是 加了ref 的div 的 直接子元素。 在這個div裏面就能夠放置但願滑動的內容了。前端

二: css部分vue

.example
 width: 100%
 position: absolute
 top: 174px
 bottom: 48px
 left: 0
 overflow: hidden
  1. 這裏只是舉例,並非必定要這樣寫。
  2. 首先將 獲取到的加了 ref 的div 的 高度固定, 能夠設置定位, 也能夠設置 height, max-height...
  3. 加 overflow: hidden 。 三: js 部分 首先 引入 better-scroll:
import BScroll from 'better-scroll';

1: 使用 mounted() 函數npm

mounted() {
  this.scroll = new BScroll(this.$refs.divScroll, {
    click: true,
  });
 },

2.使用 created() 函數app

created() {
  this.$nextTick(() => {
   this.scroll = new BScroll(this.$refs.divScroll, {
    click: true,
   });
  });
},

1.使用created 函數 要異步執行(此時html 還沒有渲染完成)。 2. mounted函數 無需異步執行(mounted 函數在html渲染完成後觸發)。異步

下面看下Vue中引入better-scroll的方法 1.用npm 安裝好 better-scroll函數

npm install--save better-scroll

2.在須要的頁面引入學習

import BScroll from 'better-scroll'

3.在data中定義 better-scroll的參數this

options: {
     pullDownRefresh: {
      threshold: 50, // 當下拉到超過頂部 50px 時,觸發 pullingDown 事件
      stop: 20 // 刷新數據的過程當中,回彈停留在距離頂部還有 20px 的位置
     },
     pullUpLoad: {
      threshold: -20 // 在上拉到超過底部 20px 時,觸發 pullingUp 事件
     },
//     pullDownRefresh: false, //關閉下拉
//     pullUpLoad: false, // 關閉上拉
     click: true,
     probeType: 3,
     startY: 0,//歡迎加入全棧開發交流圈一塊兒學習交流:864305860
     scrollbar: true//面向1-3年前端人員
    }//幫助突破技術瓶頸,提高思惟能力

4.在template中寫入

<div class="wrapper" ref="wrapper" :scrollbar="options.scrollbar" :startY="options.startY">

5.在methods中寫入方法,我自定義的

load() {
    if (!this.scroll) {
     this.scroll = new BScroll(this.$refs.wrapper, this.options);
     // 上拉
     this.scroll.on('pullingUp', () => {
      // 刷新數據的過程當中,回彈停留在距離頂部還有20px的位置
      this.setData();
     })
    } else {//歡迎加入全棧開發交流圈一塊兒學習交流:864305860
     this.scroll.refresh()//面向1-3年前端人員
    }//幫助突破技術瓶頸,提高思惟能力
   },
 setData() {
    this.$nextTick(() => {
     let arr = [1, 2, 3, 'james'];
     this.data = this.data.concat(arr)// 添加數據
     this.scroll.finishPullUp();
     this.pullingDownUp()
    })
   },
pullingDownUp() {
    this.scroll.refresh() //從新計算元素高度
   },

6.在created中加載

this.$nextTick(() => {
   this.load()
   this.setData()
  })

結語

感謝您的觀看,若有不足之處,歡迎批評指正。

相關文章
相關標籤/搜索