angular - 我尝试使用的属性在我控制台记录我的对象时定义时未定义
问题描述
问题: 为什么我的 Grade_ID 在我控制台记录时真正定义时却说我的 Grade_ID 未定义?我怎么解决这个问题?
已经尝试过: 在过去的几个小时里,我一直在尝试调试这个问题,这就是为什么我来堆栈溢出寻求解决方案的原因。-我已经用谷歌搜索了。-我已经检查了以前的堆栈溢出问题,它不会帮助我解决当前的问题。
//my Grade class
export class Grade{
public Grade_ID: number;
public Grade_Mark: number;
public Subject_Name: string;
constructor(Grade_ID: number, Grade_Mark: number, Subject_Name: string){
Grade_ID = Grade_ID;
Grade_Mark = Grade_Mark;
Subject_Name = Subject_Name;
}
}
//my .ts file
grades: Grade[];
grade: Grade;
viewSubjectMarks() {
this.studentGrades.forEach((element1) => {
if (element1.Student_ID === this.Student_ID) {
console.log(element1)
this.grade.Grade_ID = element1.Grade_ID;
this.grade.Grade_Mark = element1.Grade_Mark;
this.subjects.forEach((element2) => {
if (element1.Subject_ID === element2.Subject_ID) {
this.grade.Subject_Name = element2.Subject_Name;
this.grades.push(this.grade);
}
});
}
});
}
}
this.grade = {
Grade_ID: 0,
Grade_Mark: 0,
Subject_Name: '',
};
解决方案
问题this.grade
是undefined
。请注意,错误是说它不能设置 Grade_ID
在undefined
. 不是说Grade_ID
是undefined
,也不是说element1
是undefined
。
在您显示的代码中,在循环之后this.grade
分配了一个值。在循环之前它具有 value ,因此是错误消息。它需要分配您在循环之前显示的对象。undefined
推荐阅读
- r - 替换R中的循环
- javascript - Vanilla Javascript - 如何在同一个按钮上使用 mouseup 和 mousedown 来更改和恢复 css 类值?
- python - 使用属性值对字典进行排序
- rest - REST API 格式
- vb.net - 如何使用 VB.NET 重置网络适配器数据计数器(发送/接收)?
- ios - SwiftUI:WebView 不加载特定页面
- django - 如何使用 django-import-export 库优化数据导入到 Django 模型
- xcode - Flutter ios Build 无法在 MacOS Big Sur 11.0 Beta 上运行
- python - Python或工具最小化平方差之和
- r - 如何比较聚类结果和R中不同级别的值列表之间的一致性?