Javascript 实例化子对象(对象内部的对象)角度2

Javascript 实例化子对象(对象内部的对象)角度2,javascript,json,angular,typescript,Javascript,Json,Angular,Typescript,我有一个模型“Professional”,它的属性是另一个模型“Address”: 另一种模式是: 'use strict'; export interface Adress{ id?: number; name?: string; } 我遇到的问题是使用Professionals实例的组件: <input type="text" [(ngModel)]="profesional.name"> <input [(ngModel)

我有一个模型“Professional”,它的属性是另一个模型“Address”:

另一种模式是:

    'use strict';

export interface Adress{

    id?: number;

    name?: string;
}
我遇到的问题是使用Professionals实例的组件:

    <input type="text" [(ngModel)]="profesional.name">

    <input [(ngModel)]="profesional.address.id" class="form-control">
如何实例化作为对象的属性“Professional.Address”?它是可行的,或者我必须创建一个简单的变量,然后将属性值赋给它?正确的方法是什么

这是json:

{  
   "id":1,
   "name":"1",
   "address":{  
      "id":1,
      "name":"fsda"
   }
}

首先,请注意,在您的专业界面中,地址的类型应该从字符串更改为地址。现在,您至少需要初始化子对象,以便不会出现异常:

profesional: Profesional = <Profesional>{ 'address' : {} };
professional:professional={‘地址’:{};

更好的选择是初始化所有属性,但这取决于域。

无论您在哪里成为专业人员,都必须包含地址的实例化。因此:

profesional: Profesional = { address: {} };
请注意,您键入的地址也是错误的-它应该是接口类型,而不是字符串。考虑到您打算使用它的方式,您可能也希望从其定义中删除问号。(或者,您可以使用以下内容来代替所有这些内容:

<div *ngIf="professional.address">


…并在其他地方实例化地址。)

在我简化问题时是一个输入错误,我将更新问题。这样做会导致字段输入错误:类型“{}”上不存在属性“id”。
profesional: Profesional = { address: {} };
<div *ngIf="professional.address">