0
我有以下类:打字稿初始化二维数组
export class ReservationInfo {
public person: Person;
public reservation: Reservation;
constructor(person: Person, reservation: Reservation) {
this.person = person;
this.reservation = reservation;
}
}
这个类包含了两个自定义类。
export class Person {
public id: number;
public personal_no: number;
public first_name: string;
public last_name: string;
public email: string;
public gender: string;
public address: string;
public birthdate: Date;
public phone: string;
}
export class Reservation {
public id: number;
public create_date: Date;
public update_date: Date;
public personal_no: number;
public status_id: string;
public payment_status_id: string;
public payment_type: string;
public comment: string;
public res_type: string;
public reservationDetail: Array<ReservationDetail>;
}
预订类包含ReservationDetail类,它有数组列表类型ReservationPerson。
export class ReservationDetail {
public id: number;
public reservation_id: number;
public create_date: Date;
public update_date: Date;
public room_id: number;
public status_id: string;
public start_date: Date;
public end_date: Date;
public payment_type: string;
public adult: string;
public child: string;
public additional_bed: string;
public payment_status: string;
public category_id: number;
public category_name: string;
public extra_person: string;
public reservationPerson: Array<ReservationPerson>;
public reservationService: Array<ReservationServices>;
constructor(id: number, reservation_id: number, create_date: Date, update_date: Date, status_id: string, room_id: number, start_date: Date, end_date: Date, category_id: number,
reservationPerson: Array<ReservationPerson>, reservationService: Array<ReservationServices>) {
this.id = id;
this.reservation_id = reservation_id;
this.create_date = create_date;
this.update_date = update_date;
this.status_id = status_id;
this.room_id = room_id;
this.start_date = start_date;
this.end_date = end_date;
this.category_id = category_id;
this.reservationPerson = reservationPerson;
this.reservationService = reservationService;
}
}
这是我的ReservationPerson类与它的构造函数。
export class ReservationPerson {
public reservation_id: number;
public person_id: string;
public first_name: string;
public last_name: string;
constructor(person_id: string, first_name: string, last_name: string) {
this.person_id = person_id;
this.first_name = first_name;
this.last_name = last_name;
}
}
我有一个initialisation promlem。
当我尝试使用以下代码创建ReservationIfo类实例时,reservationPerson属性为null。
new ReservationInfo(new Person(null, null, '', '', '', '', '', new Date(), ''), new Reservation(null, null, null, null, null, [
new ReservationDetail(null, null, null, null, null, null, null, null, null, [new ReservationPerson('a', 'b', 'c')], [new ReservationServices(null, 'a', 'b', 'v', 'dv')])
]));
当我尝试下面的代码第二元件reservationPerson不为空。
new ReservationInfo(new Person(null, null, '', '', '', '', '', new Date(), ''), new Reservation(null, null, null, null, null, [
new ReservationDetail(null, null, null, null, null, null, null, null, null, [new ReservationPerson('a', 'b', 'c')], [new ReservationServices(null, 'a', 'b', 'v', 'dv')]),
new ReservationDetail(null, null, null, null, null, null, null, null, null, [new ReservationPerson('a', 'b', 'c')], [new ReservationServices(null, 'a', 'b', 'v', 'dv')])
]));
我想我有0索引元素的问题。
ReservationDetail类已性质reservationPerson和reservationService,也有构造函数这就是有这样的特性:
要使用你正在使用
new Person(null, null, '', '', '', '', '', new Date(), '')
语法添加属性的参数属性创建Person
对象。整个初始化是这个新的ReservationInfo(新的Person(..),新的Reservation(...,新的ReservationDetail(..,[new ReservationPerson('a','b','c')],[new ReservationServices (null,'a','b','v','dv')]), new ReservationDetail(...,[new ReservationPerson('a','b','c')],[new ReservationServices(null,'a','b','v','dv')]) ]));这里首先ReservationDetail没有ReservationPerson,但是当我打印时有秒。 –