I am trying to pass an array of objects through angular template from one component to another one.
 <div *ngFor="let item of data">
    <div class="col-xl-3">
      <top-users  usersData ={{[item]}}> </top-users>
    </div>
  </div>
item here supposed to be
[{id:1, name: 'Ahmed'}, {id:2, name:'Mohammed'}]
and the data is array of array of objects
[    
 [{id:1, name: 'Ahmed'}, {id:2, name:'Mohammed'}],
 [{id:3, name: 'Ahmed'}, {id:4, name:'Mohammed'}],
 [{id:5, name: 'Ahmed'}, {id:6, name:'Mohammed'}]
]
When I receive the variable through @input parameter, I get the result typeof string and looks like this
[object Object],[object Object]
I tried to parseJson and gives me this error
ERROR SyntaxError: Unexpected token o in JSON at position 1
What should I do to get the right array of object?
You need to pass the data as below :
<div *ngFor="let item of data">
    <div class="col-xl-3">
      <top-users  [usersData]="item"> </top-users>
    </div>
  </div>
You will receive in child component as:
@Input() usersData;
usersData will look like:
[{id:1, name: 'Ahmed'}, {id:2, name:'Mohammed'}]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With