博客
关于我
vue通过better-scroll 封装自定义的下拉刷新组件
阅读量:358 次
发布时间:2019-03-05

本文共 1633 字,大约阅读时间需要 5 分钟。

一、需求问题

在vue的项目中,我们可能也经常会遇到这样的需求。当在页面当中,对页面进行下拉刷新,重新请求数据,加载新的内容。针对这个,我们可以使用better-scroll,在此基础上进行封装下拉刷新组件,实现多个页面都可以使用这个组件,下拉刷新,得到复用。

二、需求分析

  1. 在components文件夹中,建立Scroller文件夹,里面建立index.vue文件,作为Scroller组件。这个下拉刷新组件在页面的多个位置中都可能会用的到,可以全局注册组件。在项目的main.js文件中写以下的代码配置,进行全局注册
import Scroller from '@/components/Scroller'//  全局注册 Scroller 组件Vue.component('Scroller', Scroller);
  1. Scroller组件中,引入better-scroll,在props中,写handleToScrollhandleToTouchEnd这两个属性,在后面组件传值的时候需要使用。在mounted()钩子函数中,通过 new BScroll创建对象,传入DOM对象和配置参数项。通过scroll.on进行绑定scrolltouchEnd事件,在后面通过pos参数写回调函数,分别调用handleToScrollhandleToTouchEnd

  2. 在需要用到的页面中,就可以直接写Scroller组件,在组件内部进行绑定属性,handleToScrollhandleToTouchEnd这两个属性,它们也是函数。在methods中,写handleToScrollhandleToTouchEnd 这两个函数,参数为pos,通过pos.y进行判断位置,然后执行相应的操作。同时在data中,写pullDownMsg参数为空,这个会进行动态的显示提示消息,赋予不同的值。

三、需求实现

  1. 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')
  1. Scroll文件夹下的index.vue,封装组件
  1. movie下的index.vue, 路由页面使用组件

转载地址:http://cupg.baihongyu.com/

你可能感兴趣的文章
java一些基本程序
查看>>
vue-依赖-点击复制
查看>>
LeetCode 116填充每个节点的下一个右侧结点指针
查看>>
2021-4-28【PTA】【L2-1 包装机 (25 分)】
查看>>
Arduino mega2560+MPU6050利用加速度值控制舵机
查看>>
紫书——蛇形填数
查看>>
A Guide to Node.js Logging
查看>>
webwxbatchgetcontact一个神奇的接口
查看>>
Edge浏览器:你的的内核我的芯
查看>>
【考研英语-基础-简单句】简单句的核心变化_谓语情态
查看>>
Jetson AGX Xavier硬件自启动
查看>>
统计字符数
查看>>
JS 数组的 every()、some() 、filter()、findIndex() 、find()、map()方法
查看>>
JS数据类型的判断
查看>>
实现一个简易Vue(三)Compiler
查看>>
仿小米商城(上)
查看>>
自动安装服务2
查看>>
js的各种数据类型判断(in、hasOwnProperty)
查看>>
严格模式、混杂模式与怪异模式
查看>>
HTML 和 CSS 简单实现注册页面
查看>>