我有一个界面:
interface IGroup{
groupNumber:number;
groupMembers:Array<ISeatPlanGroup>;
totalStudentNumber:number;
}
当我尝试在groupNumber中分配一个值时,编译器说,不能设置undefined的属性。
var group: IGroup;
group.groupNumber = groupArr[i].groupNo;
group.groupMembers=[];
group.groupMembers.push(groupArr[i]);
group.totalStudentNumber = 0;
group.totalStudentNumber+=groupArr[i].studentNumber;
我也尝试初始化
group.groupNumber = 0;
仍然有错误。怎么解决?
答案 0 :(得分:1)
通过提供类型,您无需初始化对象以初始化对象
var group: any= {}
答案 1 :(得分:1)
var group: IGroup;
没有创建任何对象,它只是说明了哪种类型的引用group
可以容纳。 group
以值undefined
开始。
您必须将对象分配给实现group
的{{1}}。比如说你有一个实现IGroup
的{{1}}类。然后你就这样做了:
Group
当然,您的实际班级名称可能不是IGroup
,而实际班级的构造函数可能需要参数,但从根本上说,问题是您还没有为{{{{{{ 1}}。