我正在使用[ngModel]保存Angular上所选选项的值,但默认值必须是我可以使用此方法检索的现有选项
getPersonnageByIdd(id: string) {
const persoSelectionne = this.personnages.find((x: { id: string; }) => x.id === id);
return persoSelectionne;
}
问题是,如果我声明一个变量,并将该方法的返回值声明为这样的值
persoDefault = this.getPersonnageByIdd("demochar").name;
整个组件崩溃!经过大量的研究,我还没有找到这个问题的答案,请帮助。问候,
我可以直接将方法放在[ngModel]中,默认值也可以,但是我需要跟踪所选的选项,并且需要一个变量来完成此操作。
3条答案
按热度按时间ni65a41a1#
我猜
this.personnages
没有元素demochar
,在这种情况下,find
和getPersonnageByIdd
返回undefined
。一种解决方案是使用可选链接。
r9f1avp52#
从您提供的代码来看,getPersonnageByIdd()提供的结果中没有名为“name”的属性。
我会这么做
还有一些建议:
hwamh0ep3#
正如你们中的一些人指出的,问题来自于getPersonnageByIdd()提供的结果中没有名为“name”的属性,因为我需要更改我的API请求;这个调用API返回的对象没有包含所有需要的信息。谢谢你们给我指出了正确的方向