打字稿显示不能设置未定义的属性,如何解决
Typescript showing can not set property of undefined, how to solve it?
我有一个接口:
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;
不过,还是有错误的。如何解决?
通过提供类型,您无需初始化对象以初始化对象
var group: any= {}
var group: IGroup;
不会创建任何对象,它只是说group
可以容纳什么类型的引用。 group
以值 undefined
开头。
您必须将对象分配给实现IGroup
的group
。例如,假设您有一个实现IGroup
的Group
类。然后你会这样做:
var group: IGroup = new Group();
当然,你的实际类名可能不Group
,实际类的构造函数可能需要参数,但从根本上说,问题是你没有为group
分配一个对象。
相关文章:
- 如何解决Yii中的页面刷新问题
- 测试Angular Service解决错误回调中的promise
- 如何解决Access Control Allow Origin错误
- 如何解决这种情况下的非法调用类型错误
- 简单的ES6承诺问题-交换解决和拒绝参数
- 可以转换显示属性吗?如果没有,什么'这是最好的解决方案
- iPad虚拟键盘-哪一个-javasctript解决方案
- 在ES6 Promise中,我应该在解决/拒绝之前使用return吗
- 如何解决“;错误所请求的URL返回500-内部服务器错误”;
- 如何逃离<脚本>jquery html()中的标记.我使用了innerHTML和outerHTML来解决这个
- 如何解决'窗口未定义'终端上的节点JS出错
- Angularjs:如何在使用'解决'在$routeProvider中
- 可以't解决Javascript错误
- AJAX HTTP基本身份验证解决方案
- 为什么不'我的窗口滚动事件根本没有启动.其他答案没有解决问题
- 如何解决此错误
- 在chrome web商店中打开时,是否有允许执行内容/后台脚本的解决方案
- CORS故障无法解决jquery,laravel5.2
- Imacros解决解决媒体验证码
- 如何解决/解决JQuery安全异常0x80530012