Ionic Firebase возвращает данные только в первый раз - PullRequest
0 голосов
/ 14 ноября 2018

У меня проблема с возвратом данных с помощью AngularFirestore через Ionic.

Моя сервисная функция ниже.

private jobsCollection: AngularFirestoreCollection<Job>;

private jobs: Observable<Job[]>;

constructor(db: AngularFirestore) {
  this.jobsCollection = db.collection<Job>('jobs');

  this.jobs = this.jobsCollection.snapshotChanges().pipe(
    map(actions => {
      return actions.map(a => {
        const data = a.payload.doc.data();
        const id = a.payload.doc.id;
        return { id, ...data };
      });
    })
  );
}

getJobs() {
   return this.jobs;
}

Затем на моей странице запускается:

ngOnInit() {
   this.loadJobs();
}

async loadJobs() {
  const loading = await this.loadingController.create({
    message: 'Loading Jobs...'
  });
  await loading.present();

  this.jobService.getJobs().subscribe((res) => {
    loading.dismiss();
    this.rows = res;
    this.newJobsCount = res.filter(x => x.status == 1).length;
    this.jobsCount = res.length;
  });
}

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

Есть идеи, где я иду не так?

...