刷新组件

- 主要是学习一下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. wgs84坐标系与gcj02坐标系转换误差分布图 | Mapping the Error in Transformation between WGS84 and GCJ02 Coordinations

    国际上通用的是wgs84坐标系,而我国对于境内的坐标进行了加密,采用了gcj02坐标系,或者称为火星坐标系.亢孟军老师带的一门课<多媒体电子地图设计>要求我们从wgs84坐标系转换为gcj ...

  2. 【Java】对Map按key和value分别排序

    一.什么是Map? 在讲解Map排序之前,我们先来稍微了解下map. map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. ...

  3. Android ActionBar仿微信界面

    ActionBar仿微信界面 1.学习了别人的两篇关于ActionBar博客,在结合别人的文章来仿造一下微信的界面: 思路如下:1).利用ActionBar生成界面的头部,在用ActionBar的Ac ...

  4. GetPixelAddress()函数Alpha通道会丢失

    CImage类中GetPixelAddress()函数来设置获取对应的颜色值是发现Alpha无效. void CGBImage::Load(){ CImage sourceImage; sourceI ...

  5. Vue vue-resource发送Http请求

    vue-resource 1.cnpm install vue-resource --save 2.在main.js中import VueResource from 'vue-resource' 3. ...

  6. C# 抽象(3)

    接上章: 抽象类中有抽象方法,那么可不可以有非抽象方法呢? 答案是可以的. abstract class Human { public abstract void Think(); public ab ...

  7. 数据结构之BF算法,kmp算法,三元组,十字链表总结

    在这一章中,老师教了我们四种数据结构:BF算法,kmp算法,三元组和十字链表:还给我们讲了2019年团体天体赛中T1-8的AI题 1.对于BF和kmp算法,老师除了在课堂上讲解算法的主要核心思想外,还 ...

  8. [SinGuLaRiTy] 2017 百度之星程序设计大赛 复赛

    [SinGuLaRiTy-1038] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. Arithmetic of Bomb Problem D ...

  9. ListBox Dock Fill 总是有空隙的问题

    ListBox Dock设置了Fill, Right等 设计界面如己所愿,但是实际运行时,底部总是有不小的空隙. 原因是ListBox有一个属性: IntergralHeight 默认为True 此属 ...

  10. C# Winform 加载窗体/对象时的等待页面设计

    在设计应用程序过程中,有时候加载对象需时较长,我们可以显示一个Loading等待页面,对用户来说就比较友好了. 这个还是涉及到多线程,下面是步骤. 一.创建好Loading窗体: 一个Panel用于显 ...