我对棱角非常陌生。我定义了一个导出某些字段的模型。在将所有用户对象写入ts文件之前。现在,在我创建模型之后,我得到了错误:
ERROR TypeError: Cannot read property 'name' of undefined
如何解决此错误?
这些是我的代码。
export class User {
name: string = '';
email: string = '';
password: any = '';
}
import { User } from '../../models/user.model';
export class RegisterComponent implements OnInit {
public form: User;
}
<form #signupForm=ngForm (ngSubmit)="onSubmit()">
<input type="text" name="name" #name="ngModel" [(ngModel)]="form.name" class="form-control" id="inputname3" placeholder="Enter Name" required>
答案 0 :(得分:3)
register.component.ts
import { User } from '../../models/user.model';
export class RegisterComponent implements OnInit {
public form: User = {};
}
请尝试此操作。
答案 1 :(得分:1)
您需要创建User的实例,
public form: User;
constructor(){
this.form = new User();
}
答案 2 :(得分:0)
我要做的是创建一个interface
UserRef
进行类型检查
user.ts
export interface UserRef {
name: string;
email: string;
password: any;
}
register.component.ts
import { UserRef } from '../../contracts/user';
import { User } from '../../models/user.model';
export class RegisterComponent implements OnInit {
public form: FormGroup;
public user: UserRef;
ngOnInit() {
this.user = new User()
// form setup
// this.form = ...
}
}
user.model.ts 应该看起来像
export class User {
name: string = '';
email: string = '';
password: any = '';
constructor() {}
}
答案 3 :(得分:0)
在使用form
对象之前,先对其进行初始化。