1.下载安装better-scroll

npm i -S better-scroll

1.1安装完成之后,打开pacaage.json文件查看,是否有(better-scroll)

"dependencies": {
"axios": "^0.19.0",
//已安装better-scroll
"better-scroll": "^1.15.2",
"core-js": "^2.6.5",
"vue": "^2.6.10",
"vue-router": "^3.0.3",
"vuex": "^3.0.1"
},

2.在components下创建组件Scrooller

<template>
<div class="wrapper" ref="wrapper">
<!-- 内容分发 -->
<slot></slot>
</div>
</template> <script>
import BScroll from 'better-scroll';
export default {
name: 'Scroller',
// 父子通信
props : {
handleToScroll : {
type : Function,
// 默认一个空的方法 防止报错
default : function(){},
},
handleToTouchEnd : {
type:Function,
default: function(){}
}
},
mounted(){
//接收两个参数 1.找到最外层包裹的容器 dom元素 2.配置元素 true 开启配置
var scroll = new BScroll( this.$refs.wrapper,{
tap:true,
probeTybe: 1
}); scroll.on('scroll',(pos) => {
this.handleToScroll(pos);
}); scroll.on('touchEnd',(pos) => {
this.handleToTouchEnd(pos);
})
}
}
</script> <style scoped>
.wrapper{
height: 100%;
}
</style>

2.1在main.js中全局注册Scroller

// scroller全局组件
import Scroller from '@/components/Scroller/Scroller.vue'
Vue.component('Scroller',Scroller);

3.在views中引入Scroller组件

<template>
<div class="movie_body" ref="movie_body">
<!-- 父子间传递方法 -->
<Scroller :handleToScroll="handleToScroll" :handleToTouchEnd="handleToTouchEnd">
<ul>
<li class="pulldown">内容</li>
</ul>
</Scroller>
</div>
</template>
<script>
// import BScroll from 'better-scroll'; export default {
name: 'name',
data(){
return { movieList : [],
//加载状态
pullDownMsg : ''
}
},
mounted(){
this.axios.get('接口').then((res) => {
//处理数据并赋值给movieList
})
},
methods:{
//调用组件中的方法
handleToScroll(pos){
//y轴下拉高度大于30时,改变pullDownMsg
if( pos.y > 30){
this.pullDownMsg = '正在加载...'
}
},
//调用组件中的方法
handleToTouchEnd(pos){
if(pos.y > 30){
// 发起ajax
this.axios.get(’接口').then((res) => {
var msg = res.data.msg;
if(msg === 'ok'){
this.pullDownMsg = '加载完成!';
//延迟一秒
setTimeout(() =>{
this.movieList = res.data.list;
this.pullDownMsg = ''
},1000)
}
})
}
}
}
}
</script>

vue-better-scroll实现移动端下拉加载组件的更多相关文章

  1. web移动端下拉加载数据简单实现

    //下拉加载在移动端会经常使用,有些小伙伴不清楚一些原理下面就简答的介绍一下 //首先需要监听window的滚动事件,下拉其实就是在监听window滚动事件 var pageNum = 1;//分页第 ...

  2. 基于Zepto移动端下拉加载(刷新),上拉加载插件开发

    写在前面:本人水平有限,有什么分析不到位的还请各路大神指出,谢谢. 这次要写的东西是类似于<今日头条>的效果,下拉加载上啦加载,这次做的效果是简单的模拟,没有多少内容,下面是今日头条的移动 ...

  3. Vue自定义指令实现下拉加载:v-loadmore

    和methods平级: directives: { loadmore: {//自定义指令: 下拉加载 bind(el, binding) {    var p = 0;    var t = 0;  ...

  4. 前端提升生产力系列三(vant3 vue3 移动端H5下拉刷新,上拉加载组件的封装)

    | 在日常的移动端开发中,经常会遇到列表的展示,以及数据量变多的情况下还会有上拉和下拉的操作.进入新公司后发现移动端好多列表,但是在看代码的时候发现,每个列表都是单独的代码,没有任何的封装,都是通过v ...

  5. vue实现pc端上拉加载功能,不兼容移动端

    所用插件:Mock.js 这个只用到它简单的功能,拦截ajax请求. vue和axios,vue基础知识请看文档. axios类似于jquery的ajax方法. 以下是是该功能所有代码,其中mock的 ...

  6. 移动端好用的下拉加载上拉刷新插件 dropload插件

    入了很多下拉加载上拉刷新的插件,但是感觉都不好用,知道最近遇到这款dropload的插件,瞬间打开新世界的大门啊,无卡顿简单易用可配置 <!doctype html> <html&g ...

  7. MUI - 上拉刷新/下拉加载

    新闻信息列表必备的功能,支持Table,Ul等列表. 以下是DIV版本,在安卓端或者ios端必须使用双webview模式,传送门:http://dev.dcloud.net.cn/mui/pulldo ...

  8. 集成iscroll 下拉加载更多 jquery插件

    一个插件总是经过了数月的沉淀,不断的改进而成的.最初只是为了做个向下滚动,自动加载的插件.随着需求和功能的改进,才有了今天的这个稍算完整的插件. 一.插件主功能: 1.下拉加载 2.页面滚动到底部自动 ...

  9. 下拉加载更多DEMO(js实现)

    项目的一个前端页面展示已购买商品时,要求能下拉加载更多.花了点时间研究这个功能,以前没做过. 首先需要给div加scroll事件,监听滚动条滚动动作.那何时触发加载动作呢?当滚动条滚到底的时候.如何判 ...

随机推荐

  1. 洛谷 题解 SP3267 【DQUERY - D-query】

    今天机房讲了莫队. 但是蒟蒻我并没有听懂,所以晚上回家恶补,才弄明白莫队. 莫队是莫涛大神发明的,它的作用就是用优秀的复杂度求解于一些区间之间的操作,莫队其实就是一个优雅的暴力,它的复杂度是O(n s ...

  2. poi-tl二次开发

    poi-tl二次开发 poi-tl是一款非常好用的word模板生成库,更新响应快.文档demo齐全.堪称word模板界的小军刀! 写在前面 如果你对word模板技术有了解.或者有兴趣,更甚者工作中接触 ...

  3. 转 与App Store审核的斗智斗勇

    原文链接:http://www.cocoachina.com/bbs/read.php?tid-326229.html 提交了4.5个新的app,以及每个版本更新了十几次版本之后,总算是有那么点心得可 ...

  4. 使用echarts去对数据进行图形分析

    首先导入js包:echarts.min.js <script type="text/javascript" src="js/echarts.min.js" ...

  5. [TimLinux] Python 再谈装饰器

    参考链接:https://stackoverflow.com/questions/739654/how-to-make-a-chain-of-function-decorators 1. 函数对象 能 ...

  6. 记录一些实用的小技巧-JS篇

    1.16进制随机颜色 let color = '#'+Math.random().toString(16).slice(-6) 2.类型判断工具函数 function isType(target, t ...

  7. python做单因素方差分析

    方差分析的主要功能就是验证两组样本,或者两组以上的样本均值是否有显著性差异,即均值是否一样. 这里有两个大点需要注意:①方差分析的原假设是:样本不存在显著性差异(即,均值完全相等):②两样本数据无交互 ...

  8. ARTS-S docker安装miniconda

    FROM centos:centos7.3.1611 MAINTAINER zhouyang3 <aaa@qq.com> WORKDIR /usr/local ADD ./ /usr/lo ...

  9. Python3 类的继承

    目录 继承的基本概念 什么是继承 继承有什么用 如何实现继承 初识继承 寻找继承关系 如何寻找继承关系 实例演示 继承背景下的对象属性查找顺序 派生 新式类和经典类 钻石继承 通过继承实现修改json ...

  10. 【CuteJavaScript】Angular6入门项目(3.编写服务和引入RxJS)

    本文目录 一.项目起步 二.编写路由组件 三.编写页面组件 1.编写单一组件 2.模拟数据 3.编写主从组件 四.编写服务 1.为什么需要服务 2.编写服务 五.引入RxJS 1.关于RxJS 2.引 ...