[解決済み】Angular: オブジェクトをサポートしているdiffが見つからない '[object Object]'
2022-02-14 22:19:28
質問
以下はその例です。 このチュートリアル . api.githubからユーザーのリストを取得する途中で、エラーが発生しました。
オブジェクトをサポートしている差分が見つかりません '[object Object]'.
に関連していると思います。
<ul>
<li *ngFor = "#user of users">
{{user | json}}
</li>
</ul>
私のコードでは、その前にどんなエラーもなかったので、私はデータが取得要求から来るかどうかわからない、ちょうどクリックはどんなエラーを与えなかった、ここまでは私のコードは次のとおりです。
@Component({
selector: 'router',
pipes : [],
template: `
<div>
<form [ngFormModel] = "searchform">
<input type = 'text' [ngFormControl]= 'input1'/>
</form>
<button (click) = "getusers()">Submit</button>
</div>
<div>
<ul>
<li *ngFor = "#user of users">
{{user | json}}
</li>
</ul>
</div>
<router-outlet></router-outlet>
`,
directives: [FORM_DIRECTIVES]
})
export class router {
searchform: ControlGroup;
users: Array<Object>[];
input1: AbstractControl;
constructor(public http: Http, fb: FormBuilder) {
this.searchform = fb.group({
'input1': ['']
})
this.input1 = this.searchform.controls['input1']
}
getusers() {
this.http.get(`https://api.github.com/
search/users?q=${this.input1.value}`)
.map(response => response.json())
.subscribe(
data => this.users = data,
error => console.log(error)
)
}
}
bootstrap(router, [HTTP_PROVIDERS])
解決方法は?
レスポンスペイロードで受け取ったオブジェクトが配列ではないのだと思います。おそらく、反復処理したい配列が、ある属性に含まれているのでしょう。受信したデータの構造を確認する必要があります。
みたいなことをやってみたらどうでしょう。
getusers() {
this.http.get(`https://api.github.com/search/users?q=${this.input1.value}`)
.map(response => response.json().items) // <------
.subscribe(
data => this.users = data,
error => console.log(error)
);
}
編集
Github doc (developer.github.com/v3/search/#search-users) に従えば、レスポンスのフォーマットは次のようになります。
{
"total_count": 12,
"incomplete_results": false,
"items": [
{
"login": "mojombo",
"id": 1,
(...)
"type": "User",
"score": 105.47857
}
]
}
つまり、ユーザーのリストは
items
フィールドがあるので、これを使うべきでしょう。
getusers() {
this.http.get(`https://api.github.com/search/users?q=${this.input1.value}`)
.map(response => response.json().items) // <------
.subscribe(
data => this.users = data,
error => console.log(error)
);
}
関連
-
[解決済み] なぜ mat-tables matRowDef は 2 つの変数を含むのですか?
-
[解決済み] Angular HTMLバインディング
-
[解決済み] Angular:*ngClassを使った条件付きクラス
-
[解決済み] Angular/RxJS `Subscription` からいつ退会すればいいのか?
-
[解決済み] モジュール "@angular-devkit/build-angular" が見つかりませんでした。
-
[解決済み] Angularプロジェクトごとに生成される膨大な数のファイル
-
[解決済み] Angularでselect要素をオブジェクトにバインドする
-
[解決済み] Angularでは、アクティブなルートをどのように決定するのですか?
-
[解決済み】Angularの例外。ngForIn'は既知のネイティブプロパティではないため、バインドできない
-
[解決済み】Angular 2 ルート変更時に上部にスクロールさせる
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】VSCodeはモジュール'@angular/core'や他のモジュールを見つけることができません。
-
[解決済み】ERR_INVALID_HTTP_RESPONSEをAngular 7とASP.Net Core 2.2を使ってGoogle Chromeブラウザーで使用する場合
-
[解決済み] ng serve または firebase serve を終了させる方法
-
[解決済み] NgModule が見つかりませんでした。NgModule でのインポートをスキップするには skip-import オプションを使用します。
-
[解決済み] イオン4オブザーバブル
-
[解決済み] CLIでコンポーネントを削除する最も良い方法は何ですか?
-
[解決済み] パーサエラーです。式が期待される場所で補間({{}})を得た
-
[解決済み] 安全でない値」の例外を発生させずに <iframe src="..."> を設定するにはどうしたらよいですか?
-
[解決済み] ローカルのワークスペース・ファイル('angular.json')が見つかりませんでした。しかし、同じコードが別のコンピュータで動作します
-
[解決済み] Angular: 'Cannot find a differ supporting object '[object Object]' of type 'object'. NgForはArrayのようなIterableへのバインディングのみをサポートしています'。