如何使用 *ngFor 指令反向迭代?
How do I iterate in reverse with *ngFor directive?
在 angular 中,我正在尝试查询 Firebase,我希望当对象返回时,内容被反向迭代。
在 TS 我得到了这个
this.items = db.list('/items', ref => ref.limitToLast(10)).valueChanges();
我尝试在那里使用 reverse(),但是,我收到一条错误消息:“Reverse does not exist on type Observerable”
在 HTML 我有这个
*ngFor="let item of items | async | slice:0:100"
我怎样才能完成这个?
您可以使用 RxJS 运算符 map 和管道来转换最终发出的值:
this.items = db.list('/items', ref => ref.limitToLast(10)).valueChanges().pipe(map(values => values.reverse());
valueChanges()
returns 是一个包装底层数据数组的 Observable。为了反转底层数据数组,您可以通过 map
RxJS 运算符和 return 反转数组来管道 Observable。
this.items = db.list('/items', ref => ref.limitToLast(10)).valueChanges()
.pipe(
map(values => values.reverse())
);
在 angular 中,我正在尝试查询 Firebase,我希望当对象返回时,内容被反向迭代。
在 TS 我得到了这个
this.items = db.list('/items', ref => ref.limitToLast(10)).valueChanges();
我尝试在那里使用 reverse(),但是,我收到一条错误消息:“Reverse does not exist on type Observerable”
在 HTML 我有这个
*ngFor="let item of items | async | slice:0:100"
我怎样才能完成这个?
您可以使用 RxJS 运算符 map 和管道来转换最终发出的值:
this.items = db.list('/items', ref => ref.limitToLast(10)).valueChanges().pipe(map(values => values.reverse());
valueChanges()
returns 是一个包装底层数据数组的 Observable。为了反转底层数据数组,您可以通过 map
RxJS 运算符和 return 反转数组来管道 Observable。
this.items = db.list('/items', ref => ref.limitToLast(10)).valueChanges()
.pipe(
map(values => values.reverse())
);