angular - 通过传入数据的角度 TS 循环
问题描述
我正在尝试遍历一组传入数据,以便可以在传单中的地图上显示信息!
这是我的课:
export class OpenStreetMapComponent implements OnInit {
@Output() private add = new EventEmitter();
@Output() private edit = new EventEmitter<number>();
artworkList: Artwork[];
传入的数据存储在 artifactList 数组中
constructor(private artworkService: ArtworkService) { }
ngOnInit() {
this.refresh();
}
refresh() {
this.artworkService.retrieveAll().then(
artworkList => this.artworkList = artworkList
);
for (let artwork of this.artworkList) {
console.log(artwork.name);
}
出于某种原因,我不断收到此错误是我的控制台:
错误类型错误:“_a 未定义”
解决方案
您的循环同步运行,而您获取它异步迭代的数据。您必须将实际循环移动到then
-block 中,这样您就不会访问可能的undefined
值。
constructor(private artworkService: ArtworkService) {
}
ngOnInit() {
this.refresh();
}
refresh() {
this.artworkService.retrieveAll().then((artworkList) => {
this.artworkList = artworkList;
for (let artwork of this.artworkList) {
console.log(artwork.name);
}
});
}
推荐阅读
- html - 如何为 HTML 表格设置最大高度?
- jpa - Java 持久性内部异常:带有 EntityManager 的 java.lang.NullPointerException
- sql - Codeigniter 3 中的子查询如何
- javascript - 构建支持“新”类 webpack.js 的库的最佳方法
- java - 如何存储/访问数据并防止地图中的竞争条件,java
- discord.js - Discord.js ${message} 在我尝试打印时不起作用
- python - 通过从 django 中的映射表中获取 id 从大小表中获取数据?
- arrays - NoMethodError:未找到数组的交集函数方法
- llvm - 在 llvm 中创建 BranchInst
- roku - 设置计划我的频道发布面临问题