2016-04-04 8 views
0

私はAngular2とtypescriptを初めて使用しているので、経験豊富な方にとってはこれが簡単です!私は初心者としてAngular Heroesチュートリアルを使ってマスターディテールアプリを開発します。私は残りのAPIを呼び出すHTTPサービスを追加しました。私たちの町で行われた決定を正しく列挙しています(アントワープ・ベルギー:)。ここをクリックして詳細を表示すると、結果として得られるjsonオブジェクトは「未定義」です。ルータからデータを受信するサービスを購読する方法(マスター/ディテールシナリオ)?

私のdecision-detail.component.tsファイルで、私はdecision => this.decision = decision,にエラーがあります"タイプ 'Decision []'は 'Decision'タイプに割り当てられていません。"

export class DecisionDetailComponent implements OnInit { 
@Input() decision: Decision; 

errorMessage: string; 

constructor(
    private _decisionService: DecisionService, 
    private _routeParams: RouteParams) { 
    } 

ngOnInit() { 
    let id = +this._routeParams.get('id'); 
    this._decisionService.getDecision(id) 
         .subscribe(
          decision => this.decision = decision, 
          error => this.errorMessage = <any>error);      
} 

}

は、ここに私のdecision.service.tsコードです:

getDecision (id: number) { return this.http.get(this._decisionsUrl+id) .map(res => <Decision[]> res.json().data) .do(data => console.log(data)) //eyeball results in the console .catch(this.handleError)

すべてのヘルプは大歓迎!!

答えて

0

私はこれを働かせました。 @inputを削除し、クラス内のプロパティとして決定を宣言しました。

関連する問題