2017-12-06 5 views
0

この件に関しては私の理解が不足しています。だから私の問題に行きましょう。このような情報を含むモデルを作成します。モデルを介して割り当てられるビュー内のデータを表示

私のサービスで私のデータを取得するためにそれを私のコントローラにインポートします。

import { Organization } from '../model/organization'; 
import { OrganizationService } from '../service/organization/organization.service'; 

となっています。私は私のデータを得るために私のモデルとサービスを設定しました。

organization: Organization 


ngOnInit() { 
    this.orgSvc.getUserOrganization().subscribe(org => { 
    this.organization = org.data(); 
    console.log(this.organization); 
}) 
} 

I console.logにデータを書き込む場合。私は必要なすべてのデータを印刷します。

{ 
    orgId: 'sdfasfasdfcv', 
    orgName: 'testOrg', 
    orgAddress: 'street test' 
} 

ただし、私はいつでも私の見解に表示します。それは私に未定義の財産の誤りをもたらします。

{{ organization.orgName }} 

私は何を欠場しましたか?私はangular ioの文書を読んだ。私は新しいインスタンスを作成しても。 this.organizationData = new Organization('', '', '' ...)のように動作しません。

+1

は 'ngIfやタイプセーフを使用しよう?角度はビューをレンダリングする時間であるため起こっ'オペレータ –

+0

を防ぐことができます、あなたのアプリケーションは、組織を受信しませんでしたデータはまだありませんので、まだ定義されていません – DerJP

答えて

2

使用タイプセーフ?オペレータ

{{ organization?.orgName }} 

DOMがレンダリングされた後、サービスコールが行われたからです。レンダリング時に、そのプロパティにアクセスしようとするとオブジェクトはundefinedになります。利用できません。上記の修正プログラムは、最初のエラーに

詳しい情報read here

+0

あなたはそれをハッキングしました。彼らのソリューションは何ですか?おかげさまで作業をお手伝いします –

+0

クール.......他のソリューションはオブジェクトの可用性をチェックするために '* ngIf'を使います – Aravind

関連する問題