0

ObservableをFirebaseObjectObservableに割り当てるにはどうしたらいいですか?現時点でAngularfire2 - ObservableをFirebaseObjectObservableに割り当てますか?

私は戻って次のエラーを取得する

Type '{}' is not assignable to type 'FirebaseObjectObservable<UserProfile[]>'.                         
    Property '_ref' is missing in type '{}'. 

方法getUserProfile

getUserProfile() { 
    const getUser = new Subject(); 
    this.getUser().subscribe(
     authResp => { 
      console.log('response received from getUser():', authResp); 
      const data = this.af.database.object(`users/${authResp}`); 
      getUser.next(data); 
      getUser.complete(); 
     }, 
     err => { 
      getUser.error(err); 
      getUser.complete(); 
     } 
    ) 
    return getUser.asObservable(); 
    } 

コンポーネント

export class HomeComponent implements OnInit, OnDestroy { 
    private sub: Subscription; 
    theUserProfile: FirebaseObjectObservable<UserProfile[]>; 

    constructor(private authService:AuthService, private af: AngularFire, private auth: FirebaseAuth) {} 

    ngOnInit() { 
    this.sub = this.authService.getUserProfile().subscribe(data => { 
     console.log('this is data:', data); 
     this.theUserProfile = data; 
    }) 
    } 

    ngOnDestroy() { 
    this.sub.unsubscribe(); 
    } 
} 

質問です:どのように私はassigすることができますnユーザープロファイルにデータを出力しますか? console.log( 'これはdata:'、data)です。返信するthis is data: FirebaseObjectObservable {_isScalar: false, _ref: U}

+0

キャストしましたか?あなたのautServiceを呼び出す前に '>'を追加する: 'this.sub = > this.authService.getUserProfile()。subscribe()' –

+0

こんにちはFabio。ご回答有難うございます。あなたのサンプルコードを幸運にすることなく試しました。しかし、あなたは私を正しい方向に導いてくれました。私は以下の答えを追加 –

答えて

0

私は自分自身の質問に答えることができました。

私のコンポーネントで以下を変更する必要があります。

export class HomeComponent implements OnInit, OnDestroy { 
    private sub: Subscription; 
    theUserProfile; 

    constructor(private authService:AuthService, private af: AngularFire, private auth: FirebaseAuth) {} 

    ngOnInit() { 
    this.sub = this.authService.getUserProfile().subscribe(data => { 
     console.log('this is data:', data); 
     this.theUserProfile = <FirebaseObjectObservable<UserProfile[]>>data; 
    }) 
関連する問題