better-scroll的基本使用
封装组件:
<template> <div ref="rootRef"> <slot></slot> </div> </template> <script> import useScroll from './use-scroll' import { ref } from 'vue' export default { name: 'scroll', props: { click: { type: Boolean, default: true }, probeType: { type: Number, default: 0 } }, emits: ['scroll'], setup(props, { emit }) { const rootRef = ref(null) const scroll = useScroll(rootRef, props, emit) return { rootRef, scroll } } } </script>
封装组件用的js:
import BScroll from '@better-scroll/core' import ObserveDOM from '@better-scroll/observe-dom' import { onMounted, onUnmounted, onActivated, onDeactivated, ref } from 'vue' BScroll.use(ObserveDOM) export default function useScroll(wrapperRef, options, emit) { const scroll = ref(null) onMounted(() => { const scrollVal = scroll.value = new BScroll(wrapperRef.value, { observeDOM: true, ...options }) if (options.probeType > 0) { scrollVal.on('scroll', (pos) => { emit('scroll', pos) }) } }) onUnmounted(() => { scroll.value.destroy() }) onActivated(() => { scroll.value.enable() scroll.value.refresh() }) onDeactivated(() => { scroll.value.disable() }) return scroll }
组件使用:
<scroll class="recommend-content"> <div> <div class="slider-wrapper"> <div class="slider-content"> <slider v-if="sliders.length" :sliders="sliders"></slider> </div> </div> <div class="recommend-list"> <h1 class="list-title" v-show="!loading">热门歌单推荐</h1> <ul> <li v-for="item in albums" class="item" :key="item.id" @click="selectItem(item)" > <div class="icon"> <img width="60" height="60" v-lazy="item.pic"> </div> <div class="text"> <h2 class="name"> {{ item.username }} </h2> <p class="title"> {{item.title}} </p> </div> </li> </ul> </div> </div> </scroll>
越努力越幸运
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决