欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue2中使用 better-scroll

程序员文章站 2022-04-15 16:18:18
使用时有三个要点: 一:html部分 【注】 1.最外层加ref,让better-scroll通过ref来获取整个div; 2.紧跟一个div,不用加任何样式或class, 最终可以滑动的部分就是这个div,这个div必须是 加了ref 的div 的 直接子元素。 在这个div里面就可以放置希望滑动 ......

使用时有三个要点:

一: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部分

.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() 函数

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

2.使用 created() 函数

created() {
   this.$nexttick(() => {
      this.scroll = new bscroll(this.$refs.divscroll, {
        click: true,
      });
   });
},

【注】 1.使用created 函数 要异步执行(此时html 尚未渲染完成)。

    2. mounted函数 无需异步执行(mounted 函数在html渲染完成后触发)。