博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Angular_上拉刷新
阅读量:5303 次
发布时间:2019-06-14

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

1.先不做上拉触发,用button模拟一下,触发函数

export class StudyComponent implements OnInit {  /*列表数据流 */  list$: Observable
; /*页面缓存*/ beh: BehaviorSubject
; /*模拟下拉事件 */ scrolEvent = new Subject(); ngOnInit() { /*订阅scrolEvent,下方scrol()执行next的时候会跑这个订阅 */ this.scrolEvent.pipe( map(() => { this.getdata(); }) ).subscribe(); } constructor() { this.list$ = new Observable
(); this.beh = new BehaviorSubject
([]); } /*获取数据 */ getdata() { this.list$ = this.beh; // 提供观察者next新数据 const oldlist = this.beh.getValue(); // 取旧数据 this.serve() .subscribe(v => { this.beh.next(oldlist.concat(v)); }); } /*滚动触发函数 */ scrol() { this.scrolEvent.next(); } /*模拟接口返回数据 */ serve() { return of([Math.random() * 100, Math.random() * 10, Math.random()]); }}

  html

{

{item}}

2.若是有两个列表(像顶部tab有  待处理、全部)

export class StudyComponent implements OnInit {  /*列表数据流 */  list$: Observable
; /*模拟下拉事件 */ scrolEvent = new Subject(); /*两个页面数据 缓存*/ segData: { flag1: BehaviorSubject
, flag2: BehaviorSubject
}; /*当前页标签 默认页面1*/ curFlag = 'flag1'; ngOnInit() { this.list$ = new Observable
(); // this.segData.flag1 = new BehaviorSubject
([]); // this.segData.flag2 = new BehaviorSubject
([]); this.segData = { flag1: new BehaviorSubject
([]), flag2: new BehaviorSubject
([]) }; /*订阅scrolEvent,下方scrol()执行next的时候会跑这个订阅 */ this.scrolEvent.pipe( map(() => { this.getdata(this.curFlag); }) ).subscribe(); } constructor() { } /*获取数据 */ getdata(flag: string) { this.list$ = this.segData[flag]; // list$指向一个segData const oldlist = this.segData[flag].getValue(); // 取旧数据 this.serve(this.curFlag) .subscribe(v => { this.segData[flag].next(oldlist.concat(v)); }); } /*滚动触发函数 */ scrol(flag: string) { this.curFlag = flag; this.scrolEvent.next(); } /*模拟接口返回数据 */ serve(flag: string) { return of( [ Math.random() * 100 + flag, Math.random() * 10 + flag, Math.random() + flag] ); }}

  html

{

{item}}

 

转载于:https://www.cnblogs.com/wskxy/p/10497485.html

你可能感兴趣的文章
遇麻烦,Win7+Ubuntu12.10+Archlinux12.10 +grub
查看>>
SqlBulkCopy大批量导入数据
查看>>
pandas 修改指定列中所有内容
查看>>
「 Luogu P2285 」打鼹鼠
查看>>
lua语言入门之Sublime Text设置lua的Build System
查看>>
vue.js基础
查看>>
电脑的自带图标的显示
查看>>
[转载] redis 的两种持久化方式及原理
查看>>
C++ 删除字符串的两种实现方式
查看>>
ORA-01502: 索引'P_ABCD.PK_WEB_BASE'或这类索引的分区处于不可用状态
查看>>
Java抽象类和接口的比较
查看>>
开发进度一
查看>>
MyBaits学习
查看>>
管道,数据共享,进程池
查看>>
CSS
查看>>
[LeetCode] 55. Jump Game_ Medium tag: Dynamic Programming
查看>>
[Cypress] Stub a Post Request for Successful Form Submission with Cypress
查看>>
程序集的混淆及签名
查看>>
判断9X9数组是否是数独的java代码
查看>>
00-自测1. 打印沙漏
查看>>