
vue通过better-scroll 封装自定义的下拉刷新组件
发布日期:2021-05-08 01:24:11
浏览次数:8
分类:精选文章
本文共 1633 字,大约阅读时间需要 5 分钟。
一、需求问题
在vue的项目中,我们可能也经常会遇到这样的需求。当在页面当中,对页面进行下拉刷新,重新请求数据,加载新的内容。针对这个,我们可以使用better-scroll,在此基础上进行封装下拉刷新组件,实现多个页面都可以使用这个组件,下拉刷新,得到复用。
二、需求分析
- 在components文件夹中,建立Scroller文件夹,里面建立index.vue文件,作为Scroller组件。这个下拉刷新组件在页面的多个位置中都可能会用的到,可以全局注册组件。在项目的main.js文件中写以下的代码配置,进行全局注册
import Scroller from '@/components/Scroller'// 全局注册 Scroller 组件Vue.component('Scroller', Scroller);
-
在
Scroller
组件中,引入better-scroll
,在props中,写handleToScroll
和handleToTouchEnd
这两个属性,在后面组件传值的时候需要使用。在mounted()
钩子函数中,通过new BScroll
创建对象,传入DOM
对象和配置参数项。通过scroll.on
进行绑定scroll
和touchEnd
事件,在后面通过pos
参数写回调函数,分别调用handleToScroll
和handleToTouchEnd
。 -
在需要用到的页面中,就可以直接写
Scroller
组件,在组件内部进行绑定属性,handleToScroll
和handleToTouchEnd
这两个属性,它们也是函数。在methods中,写handleToScroll
和handleToTouchEnd
这两个函数,参数为pos,通过pos.y
进行判断位置,然后执行相应的操作。同时在data中,写pullDownMsg
参数为空,这个会进行动态的显示提示消息,赋予不同的值。
三、需求实现
main.js
import Vue from 'vue'import App from './App.vue'import router from './router'import store from './store'import axios from 'axios'Vue.prototype.axios = axios;Vue.filter('setWH', (url, arg) => { return url.replace(/w\.h/, arg);});Vue.config.productionTip = false;import Scroller from '@/components/Scroller'// 全局注册 Scroller 组件Vue.component('Scroller', Scroller);new Vue({ router, store, render: h => h(App)}).$mount('#app')
Scroll
文件夹下的index.vue
,封装组件
movie
下的index.vue
, 路由页面使用组件
- { { pullDownMsg }}
![]()
{ { item.nm }}
观众评 { { item.sc }}
主演: { { item.star }}
{ { item.showInfo }}
购票
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月05日 22时02分56秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Socket通信原理和基础实践
2019-03-05
Java求逆波兰表达式的结果(栈)
2019-03-05
SDWebImage--http图片加载不出来的问题
2019-03-05
Application received signal SIGSEGV
2019-03-05
MySQL删除数据库时的错误(errno: 39)
2019-03-05
关于MySQL连接时出现的错误之一
2019-03-05
eclipse下Struts2配置文件添加自动提示
2019-03-05
Win10 JDK配置环境变量以及为什么需要配置每部分的原因
2019-03-05
ubuntu学习笔记-常用文件、命令以及作用(hosts、vim、ssh)
2019-03-05
SLAM学习笔记-求解视觉SLAM问题
2019-03-05
target加载不出文件的原因之一
2019-03-05
顺序表和链表的优缺点
2019-03-05
普歌-允异团队-HashMap面试题
2019-03-05
Vue_cli实现抽奖
2019-03-05
还在一个一个手动安装虚拟机吗?Cobbler自动部署装机一键最小化安装打把游戏就好了
2019-03-05
C语言 希尔排序
2019-03-05
C 语言顺序表查找和折半查找
2019-03-05
Windows下Python安装与使用
2019-03-05
Django-天天生鲜项目
2019-03-05
Font Awesome图标库使用
2019-03-05