Was ich versuche zu erreichen, ist, einige Nachrichten aus meiner Datenbank in einer Angular-App anzuzeigen, und mein Problem ist, dass ich es nicht schaffen kann, die Datenbank abzufragen. Ich bin mehr als sicher, dass es nur ein kleiner Fehler ist, aber dafür kann ich es nicht herausfinden.AngularFire2 Query funktioniert nicht
Edit 1 - Nach dem Code zur Verfügung gestellt von @ David East Umsetzung i auf der „.equalTo (Kategorie))“ Linie einen Fehler nur immer bin, mir zu sagen, dass es ein Semikolon oder}) ist zu erwarten. An dieser Stelle stecke ich fest und jede Hilfe wäre großartig.
Course.component
export class CoursesListComponent implements OnInit {
coursesObservable;
categorySubject = new Subject<any>();
constructor(private db: AngularFireDatabase, public auth: AuthService) { }
ngOnInit() {
this.coursesObservable = this.categorySubject.map(category => {
return this.db.list<any[]>('courses', ref => {
return ref.orderByChild('category')
.equalTo(category))
.valueChanges();
});
}
pickCategory (category: string) {
this.categorySubject.next(category);
}
}
Html
<ul>
<div class="scrollmenu">
<select [(ngModel)]="category" (change)="pickCategory(category)">
<option *ngFor="let category of coursesObservable | async" value="{{category.title}}">{{ category.title }}</option>
</select>
</div>
<div *ngFor="let course of coursesObservable | async">
<a href="{{course.url}}" target="_blank" >
<h3>{{course.title}}</h3>
<p>{{course.description}}</p>
</a>
</div>
</ul>
Und die JSON-Datei für Firebase
{ "courses":
{
"Angular 1" : {
"description" : "Lorem Ipsum",
"title" : "Title 1",
"url" : "https://www.news.ro/"
"category" : "test"
},
"Angular 2" : {
"description" : "Itent, sometimes on purpose (injected humour and the like).",
"title" : "Title 2",
"url" : "https://www.news.ro/"
"category" : "test"
}
}
}
Vielen Dank für die Antwort. Mein einziges Problem ist jetzt, dass ich '' Argument des Typs '{}' nicht Parameter vom Typ 'String | zuweisen kann Nummer | Boolesch '. Der Typ '{}' kann nicht dem Typ 'false' 'in der Zeile .'equalTo (category))' zugewiesen werden. Was soll ich machen ? –
Bis Sie wissen, welchen Typ Sie benötigen, können Sie diese.db.list verwenden. Ich habe die Antwort aktualisiert. –
das ändert überhaupt nichts. Was genau mache ich falsch? Wenn Sie Zeit und Geduld haben, ist dies das [Repository] (https://github.com/incrosnatubogdan/Angular2FirebaseRSSTalker). Vielen Dank –