[英]Angular Method for populating a strongly-typed Variable
我是 Angular 的新手,正在为此苦苦挣扎。 如果我的措辞不正确,请道歉; 我希望你能关注我。
我有一些带有单击事件的 HTML,该事件返回选择的一行数据。 我想填充一个基于我创建的模型的变量。 点击事件返回数据没有问题:当我记录返回时,我看到在控制台中选择的数据。 模型也不是问题,我在其他地方使用过不同的模型。 我的问题是,在这种情况下,变量是一个强类型数组,我似乎无法成功地将行数据分配给该数组。
这是我定义变量的方式:
public selectedItem: thisModel[];
这是我尝试将所选行的值分配给 selectedItem 变量的方法的最新版本:
getItemInfo(row: any[]){
this.selectedItem =[];
var selectedRow = row[0];
this.selectedItem[0].Description= selectedRow.Description;
this.selectedItem[0].StartDate= selectedRow.StartDate;
this.selectedItem[0].EndDate= selectedRow.EndDate;
}
为了更好地衡量,这是我已导入到组件中的模型:
export class thisModel {
UnitCode: number;
Description: string;
StartDate: Date;
EndDate?: Date;
}
不幸的是,控制台错误不是将所选行的值分配给变量,而是显示:无法设置未定义的描述属性。
正如我之前所说,我已经尝试了这种方法的许多不同版本,都给出了相同的结果。 我哪里错了?
感谢所有回答的人。
您需要在设置值之前检查 null 和 undefined 并使用 push 方法将对象插入到selectedItem
数组
getItemInfo(row: any[]){
this.selectedItem =[];
var selectedRow = row[0];
if (selectedRow != null && selectedRow != undefined){
this.selectedItem.push(
{
Description: selectedRow.Description,
StartDate: selectedRow.StartDate,
EndDate: selectedRow.EndDate
});
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.