Typescript 对象动态分配更改 fieldName
Typescript Object dynamic assignment changes fieldName
我正在使用现有对象的一些值创建一个新对象。现在在用 crs.parentFieldId 分配 fieldId 时,在最终对象中,fieldId 名称本身更改为 parentFieldId。这里出了什么问题?
1. 代码片段
ionViewWillEnter() {
console.log('ionViewWillEnter EditSubfieldFeePage');
this.fs.getCourseFieldBySelectedId().subscribe((cf: CourseField) => {
let ids = this.fs.getSelectedCourses();
for(let crs of cf.courses) {
if(ids.has(crs.courseId)) {
let courseFee: CourseFee = {
fieldId: crs.parentFieldId,
fieldName: cf.fieldName,
courseId: crs.courseId,
courseName: crs.courseName,
feeAmount: 0,
feeType: "MONTHLY"
}
this.courseFeeList.push(crs);
}
}
});
}
class定义
export class CourseFee {
fieldId: string;
courseId: string;
feeAmount: number;
feeType: string;
}
它工作正常,但在控制台中 fieldId 被重命名为 parentFieldId。
似乎您没有添加新的 courseFee
对象,而是添加了 crs
对象(其中包含 parentFieldId
属性)
if(ids.has(crs.courseId)) {
let courseFee: CourseFee = {
fieldId: crs.parentFieldId,
fieldName: cf.fieldName,
courseId: crs.courseId,
courseName: crs.courseName,
feeAmount: 0,
feeType: "MONTHLY"
}
this.courseFeeList.push(crs); // <--- here!
}
为了修复它,更改此行
this.courseFeeList.push(crs);
成为
this.courseFeeList.push(courseFee);
我正在使用现有对象的一些值创建一个新对象。现在在用 crs.parentFieldId 分配 fieldId 时,在最终对象中,fieldId 名称本身更改为 parentFieldId。这里出了什么问题? 1. 代码片段
ionViewWillEnter() {
console.log('ionViewWillEnter EditSubfieldFeePage');
this.fs.getCourseFieldBySelectedId().subscribe((cf: CourseField) => {
let ids = this.fs.getSelectedCourses();
for(let crs of cf.courses) {
if(ids.has(crs.courseId)) {
let courseFee: CourseFee = {
fieldId: crs.parentFieldId,
fieldName: cf.fieldName,
courseId: crs.courseId,
courseName: crs.courseName,
feeAmount: 0,
feeType: "MONTHLY"
}
this.courseFeeList.push(crs);
}
}
});
}
class定义
export class CourseFee {
fieldId: string;
courseId: string;
feeAmount: number;
feeType: string;
}
它工作正常,但在控制台中 fieldId 被重命名为 parentFieldId。
似乎您没有添加新的 courseFee
对象,而是添加了 crs
对象(其中包含 parentFieldId
属性)
if(ids.has(crs.courseId)) {
let courseFee: CourseFee = {
fieldId: crs.parentFieldId,
fieldName: cf.fieldName,
courseId: crs.courseId,
courseName: crs.courseName,
feeAmount: 0,
feeType: "MONTHLY"
}
this.courseFeeList.push(crs); // <--- here!
}
为了修复它,更改此行
this.courseFeeList.push(crs);
成为
this.courseFeeList.push(courseFee);