1. 程式人生 > >vue使用Better-Scroll實現縱向滾動

vue使用Better-Scroll實現縱向滾動

將縱向滾動抽象為一個外掛,多次呼叫具體參看見橫向滾動中描述。首先貼出全部程式碼:

<template>
//better-scroll作用於子元素,所以要有一層wrapper封裝
<div ref="wrapper">
  <slot>
  //slot插槽中即為具體滾動的內容,來自呼叫此外掛的元件
  </slot>
</div>
</template>

<script>
import BScroll from 'better-scroll'
export default {
//props中所涉及屬性的作用自行檢視better-scroll文件
  props
: { probeType: { type: Number, default: 1 }, click: { type: Boolean, default: true }, data: { type: Array, default: null } }, mounted() { setTimeout(() => { this._initScroll() }, 20) }, methods: { //初始化滾動元件 _initScroll
() { if (!this.$refs.wrapper) { return } this.scroll = new BScroll(this.$refs.wrapper, { probeType: this.robeType, click: this.click, }) }, //所使用到的函式作用自行檢視文件 enable() { this.scroll && this.scroll.enable() }, disable() { this
.scroll && this.scroll.disable() }, refresh() { this.scroll && this.scroll.refresh() } }, watch: { //觀察傳入的資料,一旦資料發生變化,重新渲染滾動元件 data() { setTimeout(() => { // this.scroll.refresh() this.refresh() }, 20); } } } </script>