Ich möchte die Daten über init aus meiner Kundentabelle in die Projektliste aufnehmen.Verknüpfen von abgeflachten Daten
Modell ist wie folgt:
Projekte
- Schlüssel
- Name: string
- Kunde: CustomerKey
Kunden
- Schlüssel
- Name: string
Haben Sie ein Beispiel haben, wie ich dies mit angularfire2 von angular2 Komponente tun?
mein Controller sieht wie folgt aus:
import { Component, OnInit } from '@angular/core';
import { Project } from '../project';
import { Router } from '@angular/router';
import { FirebaseAuth } from 'angularfire2';
import { AngularFire, FirebaseListObservable, FirebaseObjectObservable } from 'angularfire2';
import { Observable } from 'rxjs';
@Component({
moduleId: module.id,
selector: 'app-projects',
templateUrl: 'projects.component.html',
styleUrls: ['projects.component.css']
})
export class ProjectsComponent implements OnInit {
projects: FirebaseListObservable<any[]>;
customers: FirebaseListObservable<any[]>;
projectName: string;
constructor(
private router: Router,
private af: AngularFire
) { };
ngOnInit() {
this.projects = this.af.database.list('projects');
}
add(projectName: string) {
this.af.database.list('projects')
.push({ name: projectName, id: '123' });
this.projectName = null;
}
}
aktualisieren
i die Art der this.projects auf beobachtbare von FirebaseListObservable geändert haben meine auf ngOnInit() -Methode nun wie folgt aussieht:
ich kann jetzt nicht auf den Namen Eigenschaft des Kunden von der Vorlage im Inneren zugreifen von
<li *ngFor="let project of projects | async">
project.customer.$value
Können Sie mehr Kontext bereitstellen, indem Sie Ihre Vorlage anzeigen oder noch besser, indem Sie eine PLNKR erstellen? –
Hallo David, habe gerade die Modellbeschreibung zum Beitrag hinzugefügt. Innerhalb der Vorlage ist nichts besonderes -> "Projekt von Projekten | async" lassen. Mein Problem ist, wie man verwandten Kunden bekommt.Name aus der Kunden-Tabelle beim Streaming der Daten aus den "Projekten" und setzen Sie die this.project.customer auf diesen Wert – Alex