import { Component, OnInit, OnDestroy } from '@angular/core'; import { Subscription } from 'rxjs'; import { NaPaginationService, NaHttpService, INaPagination } from '@ng-arthur-mobile/http'; import { HttpClient } from '@angular/common/http'; import { format, differenceInCalendarMonths } from 'date-fns'; import { tap, mergeMap, map } from 'rxjs/operators'; import { NaStartupService } from '@ng-arthur-mobile/core'; @Component({ selector: 'na-pagination', templateUrl: './pagination.component.html', styleUrls: ['./pagination.component.scss'] }) export class PaginationComponent implements OnInit, OnDestroy { loading = false; // 导出loading pagination: INaPagination = this.paginationService.create({ loading: (loading: boolean) => { this.loading = loading; }, onLoad: body => { return this.http.post('notice/queryNoticeList', body).pipe( map((value: any) => value.noticeList) ); } }); execute$: Subscription; constructor(private paginationService: NaPaginationService, private http: HttpClient, private startup: NaStartupService, private naHttpService: NaHttpService) { // for (let i = 0; i < 100; i++) { // this.startup.load({ prefix: './assets/config/app', suffix: '.json' }); // } } ngOnInit(): void { this.execute$ = this.pagination.execute().subscribe(); this.pagination.doQuery(); } ngOnDestroy() { if (this.execute$) { this.execute$.unsubscribe(); } } }