2016-10-01 12 views
1

は、私はこのようなPHPからJSONデータを返すがあります。AngularJSアレイNGリピート問題

[ 
{ 
    "id": 143, 
    "sender": "btknctTR", 
    "title": "Batıkan Bu nedir bu bu ne bu", 
    "date": "Jun 11, 2016 6:47:21 AM", 
    "lastupdatedate": "Jun 11, 2016 1:48:54 PM", 
    "category": "Sorular", 
    "priority": "Kritik", 
    "appointedRole": "Moderatör", 
    "archived": true, 
    "messages": [ 
     { 
      "sender": "btknctTR", 
      "message": "Test message", 
      "date": "Jun 11, 2016 1:48:30 PM" 
     }, 
     { 
      "sender": "btknctTR", 
      "message": "This i second test message", 
      "date": "Jun 11, 2016 1:48:54 PM" 
     } 
    ] 
}, 
{ 
    "id": 198, 
    "sender": "btknctTR", 
    "title": "Yeni yeni yeniden", 
    "date": "Jun 11, 2016 12:53:32 PM", 
    "lastupdatedate": "Jun 11, 2016 8:18:39 PM", 
    "category": "Diger", 
    "priority": "Normal", 
    "appointedRole": "Moderatör", 
    "archived": true, 
    "messages": [ 
     { 
      "sender": "btknctTR", 
      "message": "Yeni yeni yenidenYeni yeni yenidenYeni yeni yenidenYeni yeni yenidenYeni yeni yenidenYeni yeni yenidenYeni yeni yenidenYeni yeni yenidenYeni yeni yenidenYeni yeni yeniden", 
      "date": "Jun 11, 2016 7:54:41 PM" 
     }, 
     { 
      "sender": "DonduranAtes", 
      "message": "asdasd\r\n", 
      "date": "Jun 11, 2016 7:54:50 PM" 
     }, 
     { 
      "sender": "btknctTR", 
      "message": "sadasdasdasd", 
      "date": "Jun 11, 2016 7:55:14 PM" 
     } 
    ] 
}, 
{ 
    "id": 3810, 
    "sender": "btkncttr", 
    "title": "asdasdasdasdas", 
    "date": "Aug 6, 2016 10:55:36 AM", 
    "lastupdatedate": "Aug 7, 2016 10:33:19 PM", 
    "category": "Diger", 
    "priority": "Normal", 
    "appointedRole": "Moderatör", 
    "archived": true, 
    "messages": [ 
     { 
      "sender": "btkncttr", 
      "message": "This is the message", 
      "date": "Aug 6, 2016 10:57:07 AM" 
     }, 
     { 
      "sender": "player", 
      "message": "This is the message tooo", 
      "date": "Aug 6, 2016 10:57:07 AM" 
     } 
    ] 
} 
] 

をしかし、私はtheeseリピートngのできる方法を見つけることができません。私が書いたとき{{data.sender}}は、コンソールでエラー[ngRepeat:dupes]を返します。

私は、これはユーザーのための支援システムで、チケットリストページでこの値リストを必要としています。

+1

NG・リピート= "データの項目| $インデックスによってトラック" - TRACK BYを試してみてください) – KoIIIeY

+0

関連するすべてのコードを表示してください – charlietfl

+0

NG・リピート= "件のデータでデータ" $インデックス – Akis

答えて

0

コンソールで[ngRepeat:dupes]エラーを取得しているため、データに重複があります。

あなたはすべてのデータをループにしたいとsenderを表示した場合、あなたはこの

<div ng-repeat="data in jsonData track by $index">{{data.sender}}</div> 

$index配列内のオブジェクトのインデックスを使用して、配列内の各オブジェクトを追跡するような何かを行うことができます。

+0

これは完全に真の答えです。 –

0

オブジェクトが変数$ scope.dataの値にあるとしましょう。

その後、次のような角度であなたのhtmlでこれをレンダリングすることができます。

<div ng-repeat="item in data track by $index"> 
    {{ item.id }} 
</div> 

更新:確かに、この特定のエラーにあなたは$インデックスでトラックを必要とする

+0

'最善を働いていた何を指すように答えを受け入れるquestion..youに* "ソリューション" * <= "件のデータにおけるデータ" TR NGリピート> {{}} data.id ' 私はすでにそれを試しています。 エラー 'angular.js:13920エラー:[ngRepeat:dupes] http://errors.angularjs.org/1.5.8/ngRepeat/dupes?p0 = dataa%20in%20datas&p1 =オブジェクト%3Anull&p2 = null' –

+0

'ng $ index' – Akis

+0

によって-repeat =「件のデータのデータ」トラックが、それはこのタイプの本当である@Akis ' は、答えをしてくれてありがとう、ありがとう ' NG・リピート=「$インデックスによる件のデータトラックのデータ」ソリューション@Akis –

0

お試しください。 Here is working fiddle
角度バージョンも確認してください。そのバージョンで導入されているため、最小値は1.2です。

<div ng-controller="MyCtrl"> 
    <div ng-repeat="data in datas track by $index"> 
    Sender : {{data.sender}} 
    <br> Messages :<br> 
    <div ng-repeat="(mindex, mvalue) in data.messages"> 
     {{mindex+1}}. {{mvalue.message}} - {{mvalue.date}} 
    </div> 
    <br> 
    </div> 
</div>