Angular: unable to access array in object
im trying to access array in object but with no success. read other posts and answers here, nevertheless, can't do it.
this is my object: activeInvoice
balance_due:
"-72.26"
customer_id
:
"4"
customerpm_id
:
"1244"
date
:
"2017-03-02 04:23:18"
id:
"10334"
invoice_data:
"{"subtotal":72.26,"items":[{"storeid":"148","title":"MONTEBELLO","qty":1,"price":"1.9900","type":"payment"},{"storeid":"149","title":"Gold Elements - Store","qty":1,"price":"66.2900","type":"payment"},{"storeid":"860","title":"Gold Elements - Cart","qty":1,"price":"1.9900","type":"payment"},{"storeid":"1805","title":"Repeat the Heat 2","qty":1,"price":"1.9900","type":"payment"},{"storeid":"2867","title":"office","qty":1,"price":"0.0000","type":"payment"}]}"
invoice_type
:
"monthly_subscription"
status
:
"0"
this is my HTML
<table class="table dark">
<thead>
<tr>
<th>#</th>
<th>Item</th>
<th>QTY</th>
<th>Price (USD)</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="invoice in activeInvoice.invoice_data">
<td class="text-center"></td>
<td class="text-center" ng-repeat="data in invoice.items">{{data.title}}</td>
<td class="text-center"></td>
<td class="text-center"></td>
</tr>
</tbody>
</table>
trying to access the elements of invoice_data and im getting an error [ngRepeat:dupes] Duplicates in a repeater
tried with track, no success. thank
+3
source to share
2 answers
I think your problem is that you have one record that is the same ... so you need to track
echo some unique field ... something like:
<tr ng-repeat="invoice in activeInvoice.invoice_data track by $index">
<td class="text-center"></td>
<td class="text-center" ng-repeat="data in invoice.items track by item.storeid">{{data.title}}</td>
<td class="text-center"></td>
<td class="text-center"></td>
</tr>
IF YOUR STOREID IS A UNIQUE PK (so you can't have 2 storeid equal)
...
+1
source to share