我有两个类:
UserInfo
export class UserInfo {
id: number;
fullName: string;
firstName: string;
lastName: string;
address: string;
dob: string
}
用户
import {UserInfo} from './User-Info'
export class User {
id: number;
userName: String;
status: String;
userInfo: UserInfo;
constructor(firstName: string, lastName: string, address: string){
this.userInfo.firstName = firstName;
this.userInfo.lastName = lastName;
this.userInfo.address = address;
}
} 我正在使用 FormGroup 设置数据值:
let user: User = new User(
this.userForm.controls['firstName'].value,
this.userForm.controls['lastName'].value,
this.userForm.controls['address'].value);
this.userService.createUser(user);
我在浏览器上调试:form的值可以获取成功,但是在新建User的时候,报错:
ERROR TypeError: Cannot set property 'firstName' of undefined
at new User (User.ts:10)
请指教。
最佳答案
你必须像这样初始化你的userInfo
变量
userInfo:UserInfo = new UserInfo();
或在构造函数中
constructor(firstName: string, lastName: string, address: string) {
this.userInfor=new UserInfo();
this.userInfo.firstName = firstName;
this.userInfo.lastName = lastName;
this.userInfo.address = address;
}
关于javascript - 来自另一个类的 Angular 4 设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47216704/