AngularFireDatabase.object() 호출에서 Observable 결과에서 데이터를 추출하고 나중에 다른 범위에서 사용할 속성으로 설정하려고합니다.Typescript - Observable에서 속성으로 데이터를 설정합니다.
export class QuizzEditComponent implements OnInit {
private quizzRef: any;
private quizzObject: any;
private key: string;
constructor(private router: ActivatedRoute, private database: AngularFireDatabase) {
this.key = this.router.snapshot.paramMap.get('id');
this.quizzRef = this.database.object(environment.firebase.databaseName+'/'+this.key);
this.quizzRef.valueChanges().forEach(line => {
this.quizzObject = line;
console.log(this.quizzObject); // this display the wanted object
});
console.log(this.quizzObject); // This display undefined
}
}
나는 관찰 가능한 객체이기 때문에 작동하지 않습니다 for let line of this.quizzItem
같은 다른 반복을 시도!
아이디어가 없습니다.
'this.quizzObject' 얻을하지 않습니다 내 문제 (y)를 해결 값이 변경 될 때까지 ... – user1859022
그것은 forEach 반복 안에 설정됩니다! 내가 시간 제한'setTimeout (function() {console.log (this.quizzObject);}, 1000)을 추가하더라도'forEach' 외부에서 정의되지 않은 것을 표시합니다! – Moghreb
@Moghreb, 변수'this.quizzObject'가 설정되면 함수 호출을 고려할 수 있습니다 – edkeveked