2017-07-08 11 views
0

私は以下のようにobjを単一のオブジェクト内のすべてのフォーム要素をバインドしようとしています:バインディングフォーム入力 - angular2

<input type="text" [(ngModel)]="obj.name"> 
<select [(ngModel)]="obj.x"> 
    <option *ngFor="let x in xx" [ngValue]="x">{{x}}</option> 
</select> 

私はTypeError例外を取得:未定義のプロパティ「名前」を読み取ることはできません。私が間違っていたところで好意してください。

+0

コンポーネント自体のコードもなく、何が起こっているのかを判断するのはちょっと難しいです。 objが初期化される前に名前にアクセスしようとするライフサイクルになる可能性があります。可能であれば、Componentを追加し、Component内の空のオブジェクトを使用してobj宣言をスタブします。 –

+0

objをどのように初期化する必要があるか教えてください。 – Gayathri

+0

アプリ側のオブジェクトの特定のモデルはありますか?また、コンポーネントコードを共有して –

答えて

0

コンポーネント内のオブジェクトを宣言していないため、エラーが発生します。通常のバインディングでは、obj?.nameを使用できますが、モデルバインディングではエラーが発生します。したがって、コンポーネントクラスのオブジェクトを宣言するだけで、次のようにすることができます。

エラーがなくなります。

関連する問題