前言
better-scroll官方demo展示:https://ustbhuangyi.github.io/better-scroll/#/examples/en
better-scroll官方文档说明:https://ustbhuangyi.github.io/better-scroll/doc/zh-hans/#better-scroll
方法一:官方文档推荐的方法
<template>
<div class="wrapper">
<ul class="content">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</div>
</template>
<script>
import BScroll from 'better-scroll'
export default {
name: 'CityList',
mounted () {
this.scroll = new BScroll('.wrapper')
}
}
注:① 上面代码中better-scroll是作用在外层 wrapper 容器上的,必须有这个父容器包裹,
滚动部分是子元素content ,也就是滚动的内容
② better-scroll只处理父容器wrapper的第一个子元素content的滚动,其它的元素都会被忽略
比如你在上面的<ul class="content"></ul>后面在添加一个同级<ul class="content2"></ul>,
被.content2包裹的内容是不会滚动的
方法二:用vue的ref属性获取wrapper节点
<template>
<div class="main" ref="wrapper">
<ul class="content">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</div>
</template>
<script>
import BScroll from 'better-scroll'
export default {
name: 'CityList',
mounted () {
this.scroll = new BScroll(this.$refs.wrapper)
}
}
注: ① ref的作用是给元素或子组件注册引用信息,引用信息将会注册在父组件的$refs
对象上
如果在普通的DOM元素上使用,引用指向的就是DOM元素;如果用在子组件上,引用就指向组件
上面的代码中,ref指的就是DOM元素.wrapper
② this.$refs.wrapper就是获取到DOM元素.wrapper