2017-06-06 14 views
0

私はプロパティ「のdisplayName」タイプに存在しない「()=>任意の」

import { Component, OnInit } from '@angular/core'; 
import { Router, Params } from '@angular/router'; 
import {QueuedService} from '../queued.service'; 

@Component({ 
    selector: 'app-reservation', 
    templateUrl: './reservation.component.html', 
    styleUrls: ['./reservation.component.css'] 
}) 
export class ReservationComponent implements OnInit { 
    username: string; 
    useremail: string; 
    route$: Router; 
    queued$: QueuedService; 
    constructor(route: Router, queued: QueuedService) { 
    this.queued$ = queued; 
    this.route$ = route; 
    this.queued$.getUserInfo() 
     .subscribe(
     result => { 
      this.username = result.displayName; 
      this.useremail = result.emails[0].value; 
     } 
    ); 
    } 

    ngOnInit() { 
    } 

} 

エラーを構築/コンパイル時に私のangular2コンポーネントに、次のエラーを見ていますが、次のされ

Property 'displayName' does not exist on type '() => any'. 
Property 'emails' does not exist on type '() => any'. 

問題の原因を特定できません。

EDIT マイgetUserInfo機能

getUserInfo() { 
    return this.http.get(this.host + '/auth/userdata') 
    .map(response => response.json()); 
    } 
+0

'getUserInfo()'メソッドはどのように見えますか? – echonax

+0

@echonaxは質問を編集しました – RRP

+1

'(結果)=> {'と '(結果:任意)=> {'を試すことができますか? – echonax

答えて

2

あなたの結果は

username: any; 
useremail: any; 

EDIT

追加、単にいずれかのタイプにこれら2つの変数を変更し、タイプの任意のものでありあなたの結果に任意のタイプの、

this.queued$.getUserInfo() 
     .subscribe(
     (result: any) => { 
      this.username = result.displayName; 
      this.useremail = result.emails[0].value; 
     } 
    ); 
+0

私はこれを試してもエラーが残っています – RRP

+0

これは感謝でした – RRP

+0

答えとしてマークすることができます – Sajeetharan

0

getUserInfo()これらのプロパティを持つ戻り値の型は宣言されていません。 getUserInfo()内のサブアクションを実行して、タイプされていないオブジェクトと関数境界を越えないようにすることをお勧めします。

関連する問題