2017-03-14 3 views
1
未定義

のを読み取ることができませんngValueリターンを使用してオブジェクトを渡す:{{selectedCompany}}角度2、私は私のテンプレートでこれを使用するとプロパティ...

<select [(ngModel)]="selectedCompany" class="form-control"> 
    <option *ngFor="let company of companies" [ngValue]="company">{{company.Name}}</option> 
</select> 
{{selectedCompany}} 

値が[object Object]です。私はこのようなselectedCompanyNameプロパティを取得しようとするただし、:

{{selectedCompany.Name}} 

を私は次のエラーを取得する:

EXCEPTION: Uncaught (in promise): Error: Error in ./HomeComponent class HomeComponent - inline template:60:10 caused by: Cannot read property 'Name' of undefined

私はそのエラーを取得していますなぜ把握しようとしています。 {{company.Name}}が働くので、その物件がそこにあると思います。

答えて

1

テンプレートレンダリングの時点でselectedCompanyが定義されていないためです。

{{selectedCompany?.Name}} 
  • 初期selectedCompany変数コンポーネントで:

    selectedCompanyまでテンプレートにデータが移入され、 "保護" する

    1. 使用安全なナビゲーション演算子(?):次の2つのソリューションを持っています

      selectedCompany = {}; 
      

    これらのいずれか 問題を解く。

  • +1

    それはそれを修正しました。ありがとうございました! :) – Rex

    +0

    @RavenLune大歓迎です! :)私はあなたがここに新しいことを知っているので、それがあなたを助けたならば、私の答えを受け入れてupvotingを検討してください。 –

    +0

    後者の場合、名前は未定義です –

    関連する問題