【问题标题】:Angular4 ngFor error - Cannot find a differ supporting object '[object Object]' of type 'object'Angular4 ngFor 错误 - 找不到“object”类型的不同支持对象“[object Object]”
【发布时间】:2018-03-01 18:57:34
【问题描述】:

我正在学习 Angular 4。我正在尝试显示调用我的后端 API 的结果。我得到的数据很好。我想展示它。这是组件:

import { Component, OnInit } from '@angular/core'; 
import { QuizService } from '../services/quiz.service';

@Component({ 
    selector: 'board', 
    templateUrl: './board.component.html', 
    styleUrls: ['./board.component.css']
})

export class Board {
    constructor(private service: QuizService) {}

    quizzes: any[]; 

    ngOnInit() {
        this.service.getQuizzes()
            .subscribe(res => {
                this.quizes = res.json(); 
                console.log(this.quizzes)
            }), error => {
                console.error(error)
            }
    }
}

这是我尝试使用 ngFor 的地方:

<div className="board"> 
    <div className="board-container">
       <li *ngFor="let quiz of quizzes">
           {{ quiz.title }}
       </li>
    </div>
</div>

这会引发此错误:

“Board.html:3 ERROR 错误:找不到类型为“object”的不同支持对象“[object Object]”。NgFor 仅支持绑定到 Iterables,例如数组。”

我正在学习一个教程并且之前做过类似的事情......无法弄清楚我在这里做错了什么。数据正在通过。

【问题讨论】:

  • 你能不能显示console.log(this.quizes) 因为我不知道结构
  • 你测验的数组是什么样子的?
  • 问题是它必须是: this.quizes = res.json().quizes 调用不返回数组,它返回一个包含数组的对象。修好了。

标签: angular


【解决方案1】:

问题是它必须是:

this.quizzes = res.json().quizzes

调用不返回数组,它返回一个包含数组的对象。添加额外的 .quizzes 可以让您进入数组并使错误消失。

【讨论】:

    猜你喜欢
    • 2019-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 2018-12-31
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    相关资源
    最近更新 更多