Вместо вызова вашей службы this.newsService.getData(...)
вам придется использовать публичную службу firebase AngularFirestore
с angularfire2/firestore
. Вот пример:
Импорт службы и добавление ее в ваш компонент news.page.ts
:
import {AngularFirestore} from 'angularfire2/firestore';
...
data: any;
constructor ( public db: AngularFirestore ) {
}
...
Чтобы получить один пост, создайте функцию
getPostEntry ( postTitle: string ): Observable<any> {
return this.db.collection<any> ( "posts" , ref => ref.where ( 'title' , '==' , postTitle ) ).valueChanges ();
}
Это будет искать все записи в вашей коллекции пожарного магазина под названием "posts"
с атрибутом title
, являющимся вашим postTitle
.
Simillarly, чтобы получить все сообщения
getAllPosts (): Observable<any> {
return this.db.collection<any>( "post" ).valueChanges ();
}
Затем вызывайте функции и потребляйте наблюдаемые. Например, вы можете сделать это в вашем ngOnInit:
ngOnInit() {
this.getAllPosts().subscribe((data)=>{
this.data = data;
console.log(data);
});
}
Теперь у вас есть данные в вашей переменной data
, вам просто нужно нарисовать их в html, как вы это обычно делаете. Имейте в виду, что это, вероятно, будет массив со всеми вашими сообщениями (если они есть).
Вот суть кода, который я отредактировал из вашего класса:
https://gist.github.com/HugoJBello/73fb3c5c0964f29934a2d8021efb128d
EDIT
переименован в коллекцию Firebase и добавлена подписка на наблюдаемые