Извлечение единственного документа пожарного магазина в угловом - PullRequest
0 голосов
/ 02 марта 2019

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

schedule.service.ts

getSchedule(id: string) {
  return this.afs
    .collection("schedules")
    .doc(id)
    .ref.get()
    .then(function(doc) {
      doc.data();
      console.log(doc.data()); //i see the data logged on my console correctly
    });
}

, затем в файле view.component.ts

ngOnInit() {
  this.scheduleDetail();
}

scheduleDetail() {
  const id = this.route.snapshot.paramMap.get("id");
  console.log(id); //I see the doc id correctly

  this.schedule = this.scheduleService.getSchedule(id);
  console.log(this.schedule);//I can't see the correct doc data
}

console.log(this.schedule) делаетне регистрировать правильные данные, как console.log(doc.data()) в файле service.tsВместо этого я вижу это

ZoneAwarePromise {__zone_symbol__state: null, __zone_symbol__value: Array (0)} Как правильно передать данные из моей службы в мой компонент?

1 Ответ

0 голосов
/ 02 марта 2019

Вы должны исправить с правильным использованием обещания:

getSchedule(id: string) {
  return this.afs
    .collection("schedules")
    .doc(id)
    .ref.get()
    .then(function(doc) {
      return doc.data();   // here...
    });
}

и

scheduleDetail() {
  const id = this.route.snapshot.paramMap.get("id");
  console.log(id); 

  this.scheduleService.getSchedule(id).then(data => {
    console.log(data);  // ... and here
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...