刷新组件

- 主要是学习一下Angular4所有花了我一天时间,写了这个刷新组件。

  • 以项目开发当中,特别是手机移动端开发的时候,经常要用到就是上拉加载下一面,下拉刷新获取最新数据的功能。

  • 在网也有很多类似的组件,前段时间用ReactJs写的项目的时候,就经常要用到,要是项目当时间也紧,从网找了一些,用来总是不那么顺手,后来干脆就自己写,这样也好控制。

  • 在用第三库的,有个很大问题,就是样式,第三库的样式基本上已经定型的了,要修改很麻烦,不修改吧和产品设计那边又不好办,所以基本上不用。其实还有一个问题,想用第三库,有的时候,只想用它里的一个组件,可以引用的时候,往往得他们整个都的打包进去,要不能知道哪里会出什么情况。

  • 种种情况吧项目里基本没有用到,要实现什么功能的组件基本上都自己写。向日期组件,弹消息组件,模式弹框组件,轮播组件等基本都自己写。


要想实现上拉加载,下拉刷新功能,移动端就得靠 touch事件,开始、移动及结束三个事件来实现

先创建三个文件分别是,Scroll.ts、Scroll.html、Scroll.scss文件里面的内容

1.Scroll.ts里大致内容如下:

文件具体内容:请点击这里

@Component({
selector: 'xtn-scroll',
templateUrl: 'Scroll.html',
styleUrls: ['Scroll.scss']
})
export class XtnScroll implements OnInit, OnChanges {
constructor() {}
ngOnInit():void{}
ngOnChanges():void{}
OnTouchStart(){}
OnTouchMove(){}
OnTouchEnd(){}
...
}

2.Scroll.html主要分三部分

内容分三部分:头、中、尾。

  1. 头部主要显示下拉刷新等信息
  2. 中部主要是显示从后台获取到的数据展示内容。
  3. 尾部显示,上拉获取下面等提示信息
<div class="scrollCss" (touchstart)="OnTouchStart($event)" (touchmove)="OnTouchMove($event)" (touchend)="OnTouchEnd($event)">
<div #divTop class="top">
<div class="title">{{Info.TitleTop}}</div>
</div>
<ng-content #divContent></ng-content>
<div #divBottom class="bottom">
<div class="title">{{Info.TitleBottom}}</div>
</div> </div>

3.Scroll.scss文件里就是样式了

展示一下,请看下图

上面向下拉的时候,提示的信息,

当拉到一定位置的时候,改变提示信息内容

松开手后,就会事件通知父级,让其调用接口获取数据去。

组件的使用

写好一个组件之后,就是怎么来使用了,下图就是如何使用组件的Demo

至于如何调用后台接口的,请 点击 查看,运行起来就可以看到了,当然还要配置数据连接什么的

以后有时间再把ReactJs、VueJs的刷新组件也写一下,其实都差不多。

移动端刷新组件XtnScroll--Angular4实现的更多相关文章

  1. 分享一个discuz touch端的jQuery下拉刷新组件

    在线Demo 最近装了个discuz论坛, 趣股VIP吧,发现里面内置的jQuery上拉刷新组件写得还行,STATICURL可以用'http://o9gzet7tk.bkt.clouddn.com/i ...

  2. 打造通用的Android下拉刷新组件(适用于ListView、GridView等各类View)

    前言 近期在做项目时,使用了一个开源的下拉刷新ListView组件.极其的不稳定,bug还多.稳定的组件又写得太复杂了,jar包较大.在我的一篇博客中也讲述过下拉刷新的实现,即Android打造(Li ...

  3. 移动端 Modal 组件开发杂谈

    Vant 是有赞开发的一套基于 Vue 2.0 的 Mobile 组件库,在开发的过程中也踩了很多坑,今天我们就来聊一聊开发一个移动端 Modal 组件(在有赞该组件被称为 Popup )需要注意的一 ...

  4. vue-上拉加载、下拉刷新组件

    vue在移动端开发过程中,上拉加载.下拉刷新是页面的基本需求,现在给大家介绍一种基于touch事件封装的刷新组件. 组件支持传参.传递事件.请求成功异步回调.上拉与触底触发加载或刷新. 父子组件间的通 ...

  5. Google自己的下拉刷新组件SwipeRefreshLayout

    SwipeRefreshLayout SwipeRefreshLayout字面意思就是下拉刷新的布局,继承自ViewGroup,在support v4兼容包下,但必须把你的support librar ...

  6. Android内置下拉刷新组件SwipeRefreshLayout

    也许下拉刷新之前,你可能会使用一些第三方的开源库,例如PullToRefresh, ActionBar-PullToRefresh等待,但现在有的正式组成部分---SwipeRefreshLayout ...

  7. MVC文件上传09-使用客户端jQuery-File-Upload插件和服务端Backload组件让每个用户有专属文件夹,并在其中创建分类子文件夹

    为用户创建专属上传文件夹后,如果想在其中再创建分类子文件夹,该怎么做?可以在提交文件的视图中再添加一个隐藏域,并设置 name="uploadContext". 相关兄弟篇: MV ...

  8. MVC文件上传08-使用客户端jQuery-File-Upload插件和服务端Backload组件让每个用户有专属文件夹

    当需要为每个用户建立一个专属上传文件夹的时候,可以在提交文件的视图中添加一个隐藏域,并设置name="objectContext". 相关兄弟篇: MVC文件上传01-使用jque ...

  9. MVC文件上传07-使用客户端jQuery-File-Upload插件和服务端Backload组件裁剪上传图片

    本篇通过在配置文件中设置,对上传图片修剪后保存到指定文件夹. 相关兄弟篇: MVC文件上传01-使用jquery异步上传并客户端验证类型和大小  MVC文件上传02-使用HttpPostedFileB ...

随机推荐

  1. 注入学习1:SQL注入语句大全

    学习背景 之前做了xss预防,以及些许的注入预防了,但是不够全面,如果还是搜集了下一些常用的注入手段,以此用来进行更好的预防. 什么是注入 一般来说,SQL注入一般存在于形如:HTTP://xxx.x ...

  2. 编写高质量代码改善C#程序的157个建议——建议36:使用FCL中的委托声明

    建议36:使用FCL中的委托声明 FCL中存在3类这样的委托声明,它们分别是:Action.Func.Predicate.尤其是在它们的泛型版本出来以后,已经能够满足我们在实际编码过程中的大部分需求. ...

  3. Maven整理笔记の初步窥探

    第一部分:引言 Maven是一款跨平台的项目管理工具,作为Apache组织的一个开源项目,主要服务于基于java平台的项目构建.依赖管理和项目信息管理. 项目构建:编译.运行单元测试.生成文档.打包和 ...

  4. jQuery插件扩展extend的实现原理

    相信每位前端的小伙伴对jQuery都不陌生吧,它最大的魅力之一就是有大量的插件,去帮助我们更轻松的实现各种功能. 前几天晚上,闲来无事,就自己动手写了个简单的jQuery插件,功能很简单,只是让选定的 ...

  5. .NET平台的资源文件管理

    可以管理文本.图片等不同类型的资源 管理方式(增删改) 可以直接修改XXX.resx源文件(XML格式,文本直接管理内容,图片需要指定路径,资源名和图片名可以不同) 也可以在VS的可视化界面上进行操作 ...

  6. http服务 WCF、Web API、Web service、WCF REST之间的区别

      http服务 WCF.Web API.Web service.WCF REST之间的区别 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web ...

  7. linux安装配置阿里云的yum源和python3

    一.yum源理解 yum源仓库的地址 在/etc/yum.repos.d/,并且只能读出第一层的repo文件 yum仓库的文件都是以.repo结尾的 二.下载阿里云的.repo仓库文件 ,放到/etc ...

  8. ML理论知识博文列表

    一文弄懂神经网络中的反向传播法——BackPropagation:http://www.cnblogs.com/charlotte77/p/5629865.html 人脸识别图库:http://vis ...

  9. jenkins官方文档(中文版)

    https://www.w3cschool.cn/jenkins/

  10. 网址访问量统计插件 FlagCounter

    网址或博客访问量统计插件  ---> FlagCounter. 网址:http://s01.flagcounter.com/more/ERP2/