Angular 无法读取属性';街道';角形的未定义的
我只是用spring boot尝试angular 6。我只是想使用嵌套类。这是我的类。但我不能筛选用户。我犯了这个错误,你能帮我吗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;
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”上出错