Angular + ngfire 2, переменная, объявленная в конструкторе, назначена неправильно - PullRequest
0 голосов
/ 15 марта 2020

В конструкторе я объявил this.lcId переменную в журнале консоли выше, который отображает правильное значение. Но в другом компоненте я создал объект из этого и вызвал этот метод requestedBulbCount. Затем я обнаружил, что второй журнал консоли (который начинается со службы подсчета колб) не отображает значение, которое я объявил в конструкторе. Как решить эту проблему?

Я не очень хорошо знаком с Angular и Firebase, поэтому я был бы очень благодарен вам, если бы вы могли предоставить подробный ответ

export class StatusService {
  private requestCollection: AngularFirestoreCollection<reqest>;
  request: Observable<reqest[]>;
  localUser1: Observable<reqest[]>;
  private lcId:string =  '';

  constructor(private afs:AngularFirestore , private localGov: LocalGovService) {    
    this.localGov.getLocalGoverment().subscribe(  async (a)=>{
      console.log('localGov service :- ' + a[0].lcId)  
      this.lcId = await  a[0].lcId   
  })
     }


  requestedBulbCount(){      
    console.log('Bulb count service  ' + this.lcId)
    this.requestCollection = this.afs.collection<reqest>('bulbRequests', ref =>
     ref.where('status' , '==' , 'incomplete').where('lcId','==',this.lcId));
    this.request = this.requestCollection.valueChanges(); 
    this.requestCollection.get().subscribe()
    return this.request  
} 
...