Bagaimana saya bisa mencapai 'sebagai' dengan operator '&&' untuk mendapatkan hasil berikut?

*ngIf="(items$ | async as items) && (filters$ | async as filters)"

Saat ini ini mengembalikan kesalahan penguraian template. Saya sudah mencoba banyak varian.

1
mx_code 2 Juni 2020, 16:24

1 menjawab

Jawaban Terbaik

Anda dapat melakukannya dengan tiga cara ini:

1.

<ng-container *ngIf="items$ | async as items">
  <ng-container *ngIf="filters$ | async as filters">

  </ng-container>
</ng-container>

2.

<ng-container *ngIf="{ items: items$ | async, filters: filter$ | async } as data">
  <ng-container *ngIf="data.items && data.filters">

  </ng-container>
</ng-container>

3.

Ts:

readonly filterItems$ = combineLatest([
  this.items$,
  this.filters$
]).pipe(
  map(([ items, filters ]) => ({ items, filters }))
);
<ng-container *ngIf="filterItems$ | async as filterItems"></ng-container>

Dengan opsi terakhir, Anda dapat mengakses item dan filter seperti filteritems.items dan filterItems.filters

2
Poul Kruijt 2 Juni 2020, 17:49