Java Angularfire:如何在更新模板之前对数据执行一些操作

Java Angularfire:如何在更新模板之前对数据执行一些操作,java,angular,firebase,angularfire2,Java,Angular,Firebase,Angularfire2,我试图在将某些数据附加到模板之前对其进行修改 假设我有以下几点: @Component({ selector: 'app-contact', templateUrl: './contact.component.html', styleUrls: ['./contact.component.css'], template: ` <section> <article *ngFor="let item of items | async">

我试图在将某些数据附加到模板之前对其进行修改

假设我有以下几点:

@Component({
  selector: 'app-contact',
  templateUrl: './contact.component.html',
  styleUrls: ['./contact.component.css'],
  template: `
  <section>
    <article *ngFor="let item of items | async">
       {{ item | json }}
    </article>
  </section>
  `,
})

export class ContactComponent {
  items: FirebaseListObservable<any[]>;
  constructor(db: AngularFireDatabase) {
    this.items = db.list('items');
  }
}

您的数据是可观察的,并且是异步呈现的

要修改它,可以使用管道:

<article *ngFor="let item of items | async | myCustomPipe"><article>

或者订阅observable并自己执行异步部分:

public items: any[];

constructor(db: AngularFireDatabase) {
  db.list('items').subscribe(items => this.items = this.modifyItems(items));
}

private modifyItems(items: any[]){
  //do your modifications here
  return items;
}

设温度=数据库列表(“项目”);此项=剂量测定(温度)@Vega可以在回答中对此进行扩展。您的问题是如何为每个项数据更改添加侦听器,或者如何在呈现每个项数据之前修改它们?
export class MyCustomPipe implements PipeTransform {

  transform(items: any[], args?: any): any {
    //do your modifications here
    return items;
  }

}
public items: any[];

constructor(db: AngularFireDatabase) {
  db.list('items').subscribe(items => this.items = this.modifyItems(items));
}

private modifyItems(items: any[]){
  //do your modifications here
  return items;
}