1

변수를 사용하여 firebase에 내 목록의 이름을 저장할 수 없습니다.firefbase2 (이온)에서 angularfire2 목록 이름에 변수를 사용할 수 없습니다.

일부 데이터를 누르면 변수가 firebase에서 정의되지 않습니다.

$this.UserID은 UID를 보유하기위한 것이지만 읽을 수는 없습니다.

내 코드 :

private referenceListRef; 
 
UserID: string; 
 

 
constructor(private http: Http, 
 
      private db: AngularFireDatabase, 
 
      private ofAuth: AngularFireAuth, 
 
      public storage: Storage 
 
) { 
 
    this.ofAuth.authState.take(1).subscribe(data => { 
 
     this.UserID = data.uid; 
 
     console.log(`user id : ${this.UserID}`); 
 
    }) 
 
    this.referenceListRef = this.db.list(`${this.UserID}`); 
 
    
 
}
당신은 this.ofAuth.authState 관찰 가능한의 완료 전에 this.UserID이 없기 때문에, subscribe() 내부 referenceListRef를 추가 할 필요가

+0

죄송합니다. 유형을 입력하거나 혼란스러워하는 질문에 혼란 스러웠습니다. 그리고 다시 영어가 제 주요 언어가 아닙니다. 그 게시물을 편집 해 주셔서 대단히 감사드립니다. 이제는 적절한 질문처럼 보입니다! –

답변

1

.

private referenceListRef; 
UserID: string; 

constructor(private http: Http, 
      private db: AngularFireDatabase, 
      private ofAuth: AngularFireAuth, 
      public storage: Storage 
) { 
    this.ofAuth.authState.take(1).subscribe(data => { 
     this.UserID = data.uid; 
     console.log(`user id : ${this.UserID}`); 
     this.referenceListRef = this.db.list(`${this.UserID}`); // <-- This code 
    }) 
} 
+0

감사합니다! 나는 불행히도 그것을 시도했지만 불행히도 "정의되지 않은 속성 snapshotchanges를 읽을 수 없습니다"라는 메시지가 나타납니다. –

+0

대기 후 다시 로그인 페이지로 돌아가서 다시 로그인하면 오류가 발생하면 닫힙니다. 하지만 어쨌든 내가 다시 오류가 나오면 애플 리케이션을 다시 시작합니다. 그래서 나는 오류 메시지를 닫고 다시 로그인해야합니다. 하지만 이봐! 감사! –