2016-06-28 5 views
5

私はangular2とtypescriptを学習しています。なぜテンプレート内のオブジェクトのプロパティ値にアクセスできないのか不思議です。Angular2 typescriptテンプレートに表示するオブジェクトのプロパティを取得する方法

マイコンポーネント:私は持ってはconsole.log(this.dataが)私のテンプレートでは、私にObject {id: 1, name: "Leanne Graham", username: "Bret", email: "[email protected]", address: Object…}

を与える

export class Farm{ 

    data:JSON; 
    id: any; 

    constructor(private nextService: NextService, navParams: NavParams){ 
     this.id = navParams.get("param1"); 

    } 

    getFarmDetails(){ 

     this.data = this.nextService.fetchData(this.id) 
     console.log(this.data) 
    } 
} 

としての私の画面上に出力し
<div> 
    {{data}} 
</div> 

[オブジェクトオブジェクト]

代わりに、電子メールやユーザー名のようなプロパティを出力するにはどうしたらいいですか?

UPDATE:あなたはJavaScriptで同じようにあなたがこれらのプロパティにアクセスすることができ

enter image description here

答えて

26

:私は{{}} data.email好きなら、私は次のエラーを取得します。例えば

{{data.email}} 

データが取得されている場合は、非同期エルヴィス演算子を使用することができますか?。を使用して、データがNULLの間にエラーを回避します。

{{data?.email}} 
+1

私はそれを試してみましたが、それはエラーがスローさ:ORIGINAL例外:例外TypeErrorは:プロパティを読み取ることができません未定義 – Nitish

+3

{{データ.email}?}の '電子メール' は完璧に働きました!どうもありがとうございます! – Nitish

+0

ありがとうございます!別の時間にデバッグの問題や顔を覚えてしまっただけです。 「エルヴィス」演算子は「安全ナビゲーション演算子」とも呼ばれ、 – sofly

関連する問題