[英]Logging to console shows defined value, but using property errors out as undefined
我正在尝试调试TypeError:无法读取未定义的属性“name”。
我设置控制台日志记录来记录值,它们是在我console.log它们时定义的,但是当我尝试使用它们在下面创建我的Place对象时它们是未定义的。
.name特别吗?
doSearch(term: string) {
this.searchService.onSearchClick(term).subscribe((data) => {
this.searchResults = [];
console.log(data); //works
if (data.hasOwnProperty('candidates')) {
data['candidates'].forEach( (place) => {
console.log(place); //works
console.log(place.formatted_address); //works
console.log(place.name); //works
console.log(place.place_id); //works
this.searchResults.push(new Place(place.formatted_address,
'',
'',
'',
new firebase.firestore.GeoPoint(0, 0),
place.name,
new firebase.firestore.GeoPoint(0, 0),
[],
place.place_id, //errors out here...
99,
99,
new firebase.firestore.GeoPoint(0, 0),
'',
'',
'',
[]));
});
}
});
我期望place.name被定义,因为控制台日志显示它,但我得到一个未定义的错误。
上面的代码注销:
对象,数组,arrayobject formatted_address,arrayobject名称,arrayobject place_id
我在console.log中定义并显示所有内容。
但是当我尝试创建一个Place对象时,它会在place.name上出错。
感谢ConnorsFan让我朝着正确的方向前进。
当html尝试渲染组件时,错误发生在以后。 place对象已成功创建。 我只是假设它在代码中的错误位置出错。 我应该真正阅读控制台提供的行号,以便下次让自己头疼...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.