Javascript 使用@input将对象数组从角度模板传递到另一个组件

Javascript 使用@input将对象数组从角度模板传递到另一个组件,javascript,angular6,Javascript,Angular6,我试图通过角度模板将一组对象从一个组件传递到另一个组件 <div *ngFor="let item of data"> <div class="col-xl-3"> <top-users usersData ={{[item]}}> </top-users> </div> </div> 数据是对象数组的数组 [ [{id:1, name: 'Ahmed'}, {id:2, na

我试图通过角度模板将一组对象从一个组件传递到另一个组件

 <div *ngFor="let item of data">
    <div class="col-xl-3">
      <top-users  usersData ={{[item]}}> </top-users>
    </div>
  </div>
数据是对象数组的数组

[    
 [{id:1, name: 'Ahmed'}, {id:2, name:'Mohammed'}],
 [{id:3, name: 'Ahmed'}, {id:4, name:'Mohammed'}],
 [{id:5, name: 'Ahmed'}, {id:6, name:'Mohammed'}]
]
当我通过@input参数接收变量时,我得到了字符串的结果类型,如下所示

[object Object],[object Object]
我试图解析JSON,但出现了这个错误

ERROR SyntaxError: Unexpected token o in JSON at position 1

我应该怎么做才能获得正确的对象数组?

您需要按如下方式传递数据:

<div *ngFor="let item of data">
    <div class="col-xl-3">
      <top-users  [usersData]="item"> </top-users>
    </div>
  </div>
usersData看起来像:

[{id:1, name: 'Ahmed'}, {id:2, name:'Mohammed'}]

我认为
[item]
不是一个正确的方法。它应该是
。尽量保持简单,这将减少bug。为了完整性,列出了Angular的模板语法的不同风格。我还要补充一点,当您使用不带方括号的属性时,您传递的是文本字符串,这很好。问题是他在插值一个对象
@Input() usersData;
[{id:1, name: 'Ahmed'}, {id:2, name:'Mohammed'}]