【问题标题】:Angular 2 - How to reverse firebase list after adding new item [duplicate]Angular 2 - 添加新项目后如何反转firebase列表[重复]
【发布时间】:2018-01-03 11:20:32
【问题描述】:

我正在寻找一种方法来实时反转我的 firebase 列表。

例如:我得到了这个 firebase 列表:

{苹果、橙子、香蕉}; == 反转后 => {香蕉、橙子、苹果}

如果我添加新项目(不刷新页面),我的列表应该是这样的:

{苹果,橙子,香蕉,其他} == 颠倒 => {其他,香蕉,橙子,苹果}

我使用此代码尝试反转列表但出现错误:

    <div *ngFor="let f of fruitsList | reverse async">

我也检查了这个,但列表没有反转

    <div *ngFor="let f of fruitsList | async reverse">

我检查了这个链接 [ https://stackoverflow.com/questions/40293539/is-it-possible-to-reverse-a-firebase-list ] 但不是我想要的

当我运行应用程序时很好,但是当我添加任何新项目时,列表显示为图片。

注意:FruitList 定义为

    Public fruitList: FirebaseListObservable<any[]>

【问题讨论】:

    标签: angular sorting firebase firebase-realtime-database ionic2


    【解决方案1】:

    试试

    <div *ngFor="let f of fruitsList.reverse() | async ">
    

    谢谢, 哦

    这适用于简单的数组。对于 FireBaseObservable,你会想做这样的事情(取自这里 https://angularfirebase.com/snippets/how-to-reverse-an-observable-array-in-angular-angularfire2-firebaselistobservable/)创建这样的管道

        import { Pipe, PipeTransform } from '@angular/core';    
        @Pipe({
             name: 'reverse'
         })
         export class ReversePipe implements PipeTransform {
    
         transform(value) {
    
         if (!value) return;
                 return value.reverse();
            }
        }
    

    并像这样使用它

        <div *ngFor="let f of fruitsList | async | reverse">
    

    【讨论】:

    • 我查过了,这条评论“...reverse is not a function”有错误
    • 为我工作。 fruitsList 是什么类型。我假设数组...
    • 它的 FirebaseListObservable
    猜你喜欢
    • 2021-06-21
    • 2017-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-25
    • 2021-05-08
    • 2019-05-12
    • 1970-01-01
    相关资源
    最近更新 更多