[英]How to force Object type returned from an Observable to an array of objects in Angular?
我正在使用GET这样获得响应。
constructor(private http: HttpClient) { }
items: Item[];
stuff: any[];
ngOnInit() {
const url = ...;
this.http.get(url)
.subscribe(next => {
console.log(next);
console.log(next.length);
this.items = next;
this.stuff = next;
});
}
我可以看到有6个元素以及它们是什么(检查控制台)。 但是,数组中都没有这两个字段。 我正在尝试使用ngFor指令迭代元素,但什么也没看到,或者只看到一行。
<div ngFor="let item of items">
->{{item?.id}}
</div>
<div ngFor="let item of stuff">
->{{item?.id}}
</div>
我知道我可以通过像这样的服务公开数据来解决它,但是部分地,我想在这里做个快速入门并学习如何做。 部分地,我将在服务代码中遇到同样的问题。
我已经尝试在下一个值上使用map和forEach ,但是我得到了一个错误,指出Object不是数组 。 IDE建议将工作数组添加到语法中,以使其成为next.array.forEach,但是甚至没有执行,从而产生了大量红色墨水。
我该怎么办? (不确定在此阶段要用什么Google进行搜索。)
donkeyObservArray: Observable<Donkey[]>;
donkeyArray: Array<Donkey>;
this.donkeyObservArray.subscribe(donk=> {
this.donkeyArray = donk;
console.log(this.donkeyArray);
为了快乐...
或输入:
donkey: Donkey= null;
getDonkey(): Donkey{
this.donkey = new Donkey();
this._http.get<Donkey>(...your ws link)
.subscribe(data => {
this.donkey = data;
您可以将对象转换为数组,然后再传递给模板object-2-array-angular-4
或使用自定义管道将对象转换为数组
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.