2017-07-08 64 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> 

我得到类型错误:无法读取属性“名”的定义。请支持我出错的地方。

+0

确定发生了什么有点困难,没有组件本身的代码。它可能是生命周期,它在obj被初始化之前尝试访问名称。如果可能,请添加组件,并可能使用组件中的空对象将obj声明桩出。 –

+0

您能否让我知道如何初始化obj? – Gayathri

+0

你有什么特定的模型在应用程序端的对象?还分享组件代码来帮助你 –

回答

0

您没有在组件中声明对象,从而导致错误。对于普通的绑定,你可以使用obj?.name,但是对于会引发错误的模型绑定。因此,您可以简单地声明组件类中的对象,如下所示:

export class MyComponent { 

    public obj: any = { 
     name: '', 
     x: null 
    } 
} 

错误将消失。