我有两个类需要两者之间的链接。如何从单独的文件将一个类导入另一个类,而不是必须重新声明链接类中的每个类。
这是我的一个班级:
export class Box {
Id?: number;
Serial: string;
PackDateTime: string;
BatchNumber: string;
Quantity: number;
UserId: number;
User: User; // This class is undefined as it cannot see the user class which is in a different file.
}
我的另一堂课:
export class User {
Id?: number;
Name: string;
Surname: string;
Username: string;
Password?: string;
IsAdmin?: boolean;
Boxes: Box[]; // Also needs a link to the Box class.
}
我尝试导入类但是没有用。
答案 0 :(得分:0)
您的问题似乎是您有User
需要Box
的循环依赖关系,但它需要User
。
你不能这样做。
如果两个类都需要另一个,那么你需要将它们放在一个文件中。
另一个选择是在一个文件中有一个接口:
interface IBox {
Id?: number;
Serial: string;
PackDateTime: string;
BatchNumber: string;
Quantity: number;
UserId: number;
User: User;
}
export class User {
Id?: number;
Name: string;
Surname: string;
Username: string;
Password?: string;
IsAdmin?: boolean;
Boxes: IBox[]; // Also needs a link to the Box class.
}
然后将实际的实例从框传递给用户实例。
答案 1 :(得分:0)
对于仍在寻找此答案的人来说,这对我有用:
import { Arm } from './member.class'; // Arm class is in the same folder as BodyClass
import { Leg } from './card.class'; // Leg class is in the same folder as BodyClass
export class Body {
Id: number;
Name: string
LegId: number;
ArmId: number;
Leg: Leg;
Arm: Arm;
}