Neu*_*tra -2 arrays typescript angular
我一直在四处寻找试图解决这个问题,但我的代码似乎有点超出标准的“将对象推入数组”。
我有一个接口,它使用另一个接口作为数组键入“Year”属性:
export interface IUser {
Nickname: string;
FirstName: string;
LastName: string;
Email: string;
EmergencyContact: string;
EmergencyNumber: string;
Year: Array<IYear>;
IsTeacher: boolean;
IsAdmin: boolean;
Uid: string;
}
export interface IYear {
CalendarYear: string;
PassType: string;
UserItinerary: IItinerary;
WaiverStatus: boolean;
Guests: Array<IGuest>;
SignupDate: string;
}
Run Code Online (Sandbox Code Playgroud)
在某个时候,我将一些 formGroup 数据传递到 IYear 类型属性中:
user: IUser = <IUser>{};
createUser(
firstName: string,
lastName: string,
email: string,
uid: string,
isTeacher: boolean,
passType: string) {
const year: IYear = {
CalendarYear: this.calendarYear,
PassType: passType,
UserItinerary: {} as IItinerary,
WaiverStatus: false,
Guests: [],
SignupDate: this.dateTime
}
this.user.FirstName = firstName;
this.user.LastName = lastName;
this.user.Email = email;
this.user.Uid = uid;
this.user.IsTeacher = isTeacher;
this.user.IsAdmin = false;
this.user.Year.push(year);
return this.user;
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我尝试将 createUser 中的 'year' 属性传递到 'this.user.Year' 数组时,出现错误
无法读取未定义的属性“推送”
我已经尝试通过键显式传递值:
this.user.Year['CalendarYear'] = year.CalendarYear;
Run Code Online (Sandbox Code Playgroud)
但这没有用。有人能在这里指出我的错误吗?
在将对象推入其中之前,用户对象中的 Year 数组应初始化为空。
this.user.Year = [];
Run Code Online (Sandbox Code Playgroud)
进而,
this.user.Year.push(year);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
536 次 |
| 最近记录: |