在vue项目中使用BetterScroll插件(1)-滚动列表

一、背景需求

BetterScroll 是一款重点解决移动端(已支持 PC)各种滚动场景需求的插件
它的核心灵感来自于 iscroll 的实现
它的 API 设计基本兼容 iscroll,在 iscroll 的基础上又扩展了一些 feature 以及做了一些性能优化

在一个以长列表为主要内容的vue页面中
我们希望用户在划到底部或划回顶部时 页面呈现弹性的动态效果
这就需要借助 better-scroll 插件来实现

二、安装和引入

参照 better-scroll 的官方文档
全局安装

npm install better-scroll --save

在子组件中局部引入

import BScroll from 'better-scroll'

三、基础用法

最常见的应用场景是列表滚动,HTML结构如下:

<div class="wrapper" ref="wrapper">
  <ul class="content">
    <li>...</li>
    <li>...</li>
    ...
  </ul>
  <!-- 这里可以放一些其它的 DOM,但不会影响滚动 -->
</div>

要注意的是 BetterScroll作用在外层的wrapper容器上
并且只处理wrapper第一个子元素的滚动

在子组件的mounted生命周期钩子中
传入对应的DOM元素,实例化 Bscroll 对象
并添加参数,使得列表中的元素可以被触发点击事件

export default {
  name: ' ',
  mounted () {
    this.scroll = new BScroll(this.$refs.wrapper, {
      click: true
    })
  }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。