Извлечение данных из службы Firestore в компонент Typescript - PullRequest
0 голосов
/ 16 ноября 2018

Я новичок в Angular и Firestore.Я хочу получить данные о помещении из службы Firestore в компонент Typescript.Я пробовал разные решения, но не смог получить данные.

firestore.service.ts

import { Injectable } from '@angular/core';
import {
  AngularFirestore,
  AngularFirestoreDocument,
  AngularFirestoreCollection
} from '@angular/fire/firestore';
import * as firebase from 'firebase';
import { Observable } from 'rxjs';

interface Room {
  description: String;
  price: Number;
  type: String;
}

@Injectable()
export class FirestoreService {
  room: Observable<Room>;
  roomCollection: AngularFirestoreCollection<Room>;

  constructor(
    private afs: AngularFirestore 
  ) {}

  ngOnInit() {
    this.roomCollection = this.afs.collection(`Room`);
  }

  public getRoom() {
    return this.afs.collection<Room>(`Room`).valueChanges();
  }
}

suites.component.ts

import { Component, OnInit, Inject } from '@angular/core';
import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from 
'@angular/material';
import { FirestoreService } from '../firestore.service';

@Component({
  selector: 'app-suites',
  templateUrl: './suites.component.html',
  styleUrls: ['./suites.component.css'],
  providers: [FirestoreService]
})

export class SuitesComponent implements OnInit {
  roomList: any;

  constructor(
    // public database: DatabaseService,
    // private afs: AngularFirestore,
    public firestore: FirestoreService
  ) {
    // this.data = this.afs.collection(`hotelsystem/main_database`).valueChanges();
    // this.data = this.database.getBookingRoom();
    this.roomList = this.firestore.room;
    console.log(this.roomList);
  }

  ngOnInit() {}

  getRoom() {
    this.firestore.getRoom().then((data: any) => {
      if (data) {
        this.roomList = [];
        console.log(data);
        this.roomList = data; //if got data, then bind to table
      }
    });
  }

  display: boolean = false;

  showDialog() {
    this.display = true;
  }
}

У меня естьПонятия не имею, как это сделать, я погуглил на смежные темы, но не смог понять или найти какой-либо пример.Очень нужна помощь от вас, ребята, и извините, если мой код действительно вызывает у вас головную боль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...