Angular асин c труба вместо отписки - PullRequest
0 голосов
/ 13 апреля 2020

Я довольно новичок в angular и в настоящее время я использую angular 7.3.1 в своем проекте. Здесь я пытаюсь использовать asyn c pipe для моих подписок, но не могу заставить его работать. Ниже приведены необходимые части кода для этого вопроса

. html

<app-grid-cmp *ngIf="portfolioGridData | async" [gridData]="portfolioGridData" [gridColDef]="portfolioColumns" [titleName]="titleName" (pageEvent)="pageDetails($event)">
</app-grid-cmp>

.ts

portfolioGridData: GridDataResult;

getPortifolioData(pageNumber: number, pageSize: number) {
this.portfolioSub = this.gridService.getPortifolioDetails(pageNumber, pageSize).subscribe(data => {
  this.portfolioGridData = {
    data: data.portfoliosList,
    total: data.totalCount
  };
  this.pageSizes = data.pageSizes;
},
  error => {
    console.log('error', error);
  });
}

pageDetails(event: DataStateChangeEvent) {
  this.pageNumber = event.skip / event.take + 1;
  this.pageSize = event.take;
  this.getPortifolioData(this.pageNumber, this.pageSize);
}

ngOnDestroy() {
  if (this.portfolioSub) {
    this.portfolioSub.unsubscribe();
  }
}

service

getPortifolioDetails(pageNumber: number, pageSize: number): any {
const url = this.appConfig.config.portfolios;
return this.httpc.get(url + '/' + pageNumber + '/' + pageSize)
  .pipe(map(res => res));
}

I я получаю сообщение об ошибке

PortfoliosGridComponent.html:10 ERROR Error: InvalidPipeArgument: '[object Object]' for pipe 'AsyncPipe'

Может кто-нибудь рассказать мне, как использовать асин c канал в моем сценарии. Спасибо.

...