我无法在有角度的前端中迭代数组

时间:2018-10-20 22:28:26

标签: javascript html node.js angular typescript

我在mongoDB的数据库中以angular的形式在前端创建了一个数组,问题是当我使用ngFor尝试迭代中心数组时, userService 接收了用户通过我的api。

“找不到类型为'object'的其他支持对象'[object Object]'。NgFor仅支持绑定到Iterables,例如数组。”

    public centers: Center[];

  constructor(
    private _route: ActivatedRoute,
    private _router: Router,
    private _userService: UserService
  ){
    this.user = new User("","","","","","","","","","","");
    this.title = 'Registrate'
  }

  getCenters(){

    this._userService.getCenters().subscribe(

    //Se guardan los centros en un array para poder acceder a ellos desde la plantilla
    response => {
        this.centers = response;
    },
    err => {
      console.log(err);
    }

  )
  }    

    ngOnInit(){

        this.getCenters();

      }

2 个答案:

答案 0 :(得分:0)

在Angular 6中,要遍历对象,可以使用键值管道

<div *ngFor="let usr of user | keyvalue">
  {{usr.key}}:{{usr.value}}
</div>

答案 1 :(得分:0)

在keyValue管道旁边(如果您未使用Angular 6+),则可以通过以下方式获取对象键作为数组

public keys = Object.keys(this.user)

并在模板中迭代这些键并通过键匹配获得原始对象值:

<p *ngFor="let k of keys"> {{user[k]}} </p>

为了完整起见,您的问题缺少HTML代码段。我以为user

,社区甚至都不知道您希望迭代哪个对象