私はこのサイトからJSON形式のデータを取得しようとしていますhttps://api.chucknorris.io/(ランダムジョーク)、エラーが表示されます:エラー:サポートオブジェクトが異なる[オブジェクトオブジェクト] ''オブジェクト 'のタイプです。 NgForは、配列などのIterablesへのバインドのみをサポートしています。そして、 "DebugContext_ {ビュー:オブジェクト、nodeIndex:11、nodeDef:オブジェクト、elDef:オブジェクト、elView:オブジェクト}"APIからのデータを取得する
これはrouting.ts
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class RandomService {
constructor(private http: Http) {
console.log('working');
}
getRandomJokes() {
return this.http.get('https://api.chucknorris.io/jokes/random')
.map(res => res.json());
}
}
これは私がしようとしているコンポーネントでありますあなたが*ngFor
に配列を結合していない
<div *ngFor="let joke of jokes">
<h3>{{joke.value}}</h3>
</div>
`,
providers: [RandomService]
})
export class PocetnaComponent {
jokes: Joke[];
constructor(private jokesService: RandomService){
this.jokesService.getRandomJokes().subscribe(jokes => {this.jokes = jokes});
}
}
interface Joke{
id: number;
value: string;
}
'getRandomJokes()'は配列を返さないので、あなたの上では冗談になります.. – echonax