Angular 无法读取属性';街道';角形的未定义的

Angular 无法读取属性';街道';角形的未定义的,angular,typescript,angular-forms,Angular,Typescript,Angular Forms,我只是用spring boot尝试angular 6。我只是想使用嵌套类。这是我的类。但我不能筛选用户。我犯了这个错误,你能帮我吗 export class Address { street: string; suite: string; city: string; zipcode: string; } import {Address} from './address'; export class User { id: number;

我只是用spring boot尝试angular 6。我只是想使用嵌套类。这是我的类。但我不能筛选用户。我犯了这个错误,你能帮我吗

 export  class Address {

street: string;
    suite: string;
  city: string;
 zipcode: string;


}
    import {Address} from './address';


    export class User {

     id: number;
     name: string;
     email: string;
     address: Address;
     phone: string;
     website: string;

    }
这是我的html代码

 <form (ngSubmit)="onSubmit()" >
    <div class="form-group">
      <label for="id">User Id</label>
      <input type="text"   class="form-control"  id="id"   required [(ngModel)]="users.id" name="id">

    </div>
    <div class="form-group">
      <label for="name">Name</label>
      <input type="text"  class="form-control"  id="name"  required [(ngModel)]="users.name" name="name">
    </div>
    <div class="form-group">
      <label for="email">Email</label>
      <input type="email"  class="form-control"  id="email" required [(ngModel)]="users.email"  name="email">
    </div>

    <div class="form-group">
      <label for ="street"  >Address street</label>
      <input  type="text"  class="form-control" id="street"  required [(ngModel)]="users.address.street"  name="street">
    </div>

用户Id
名称
电子邮件
地址街

在您的类中,确保将地址也设置为实际实例。默认情况下,地址将是未定义的。您可以在构造函数中执行此操作,示例如下:

 export class User {

  constructor() {
    this.address = new Address()
  }

  id: number;
  name: string;
  email: string;
  address: Address;
  phone: string;
  website: string;
}

希望有帮助

您应该在组件类上定义一个
users
属性,以便执行此操作:

import { Component } from '@angular/core';

@Component({...})
export class YourComponent  {
  users = {
    id: '',
    address: {}
  };
}

这是一个供您参考的示例。

我想他一定已经有了他的模型,否则错误将是“无法读取未定义的属性“id”。但是是的,他的控制器的更多代码会帮助Lenny D你是对的。这个错误已经消失了。也许我在后端出错了。感谢您的宝贵贡献:)@LennyD,他只在
街道
中收到此错误,因为它是
地址
中的一个字段。看起来上面没有定义地址。因此错误是不能读取
未定义的
的属性
地址
@cmyldz。别担心,请将我的答案标记为正确。@SiddAjmera是的,这就是我说的,请查看我的答案。他已经有模型了!您的回答表明他根本没有模型,在这种情况下,他会在第一个属性“id”上出错