2017-07-19 7 views
1

私のコードの問題点は何ですか?角度のある多次元配列に問題があります

戻り配列は

{"records": 
    [{"Status":"1", 
    "Date":"2017-07-14 10:46:33", 
    "Email":"[email protected]","Company":"Inc.", 
    "Model":"Model 8081 A","Animation":"Walk, Turn Around","id":"1", 
    "Note":"This is a new request for model with animation.", 
    "Attachment": 
     "[{'url':'request/31a.jpg','name':'a.jpg'},{'url':'request/42Light.png','name':'Light.png'}]" 
}] 
} 

され、HTMLコードが

<tr ng-repeat="x in records"> 
    <td>{{x.Status}}</td> 
    <td>{{x.Date}}</td> 
    <td>{{x.Email}}</td> 
    <td>{{x.Company}}</td> 
    <td>{{x.Model}}</td> 
    <td>{{x.Animation}}</td> 
    <td>{{x.Note}}</td> 
    <td> 
     <table> 
     <tr ng-repeat="lnk in x.Attachment"> 
      <td>{{lnk.url}}</td> 
      <td>{{lnk.name}}</td> 
     </tr> 
     </table> 
    </td>   
</tr> 

lnk.urllnk.name印刷何もありません。コンソールで

にエラーが発生しました[ngRepeat:dupes]で

答えて

1

Attachmentは配列ではありません。配列に変換し、それがLの仕事

angular.module("app",[]) 
 
.controller("ctrl",function($scope){ 
 

 
    
 
    $scope.records = [ 
 
     { 
 
     "Status":"1", 
 
     "Date":"2017-07-14 10:46:33", 
 
     "Email":"[email protected]", 
 
     "Company":"Inc.", 
 
     "Model":"Model 8081 A", 
 
     "Animation":"Walk, Turn Around", 
 
     "id":"1", 
 
     "Note":"This is a new request for model with animation.", 
 
     "Attachment":[{'url':'request/31a.jpg','name':'a.jpg'},{'url':'request/42Light.png','name':'Light.png'}] 
 
     } 
 
    ] 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 
<table> 
 
    <tr ng-repeat="x in records"> 
 
    <td>{{x.Status}}</td> 
 
    <td>{{x.Date}}</td> 
 
    <td>{{x.Email}}</td> 
 
    <td>{{x.Company}}</td> 
 
    <td>{{x.Model}}</td> 
 
    <td>{{x.Animation}}</td> 
 
    <td>{{x.Note}}</td> 
 
    <td> 
 
     <table> 
 
     <tr ng-repeat="lnk in x.Attachment"> 
 
      <td>{{lnk.url}}</td> 
 
      <td>{{lnk.name}}</td> 
 
     </tr> 
 
     </table> 
 
    </td>   
 
</tr> 
 
</table> 
 
</div>

+0

私はこの文字列をURLから取得します – Deepak3301086

+0

angular.module( "requestModel"、[]) .controller( "requestCtrl"、function($ scope、$ http){ $ http.get( "all_request")。 (応答){ $ scope.values = response.data.records; }); }); – Deepak3301086

+0

ありがとうございました – Deepak3301086

2

あなたの添付ファイルは、それは文字列が配列されていません。返される配列は次のようになります。

{ 
    "records": [{ 
    "Status": "1", 
    "Date": "2017-07-14 10:46:33", 
    "Email": "[email protected]", 
    "Company": "Inc.", 
    "Model": "Model 8081 A", 
    "Animation": "Walk, Turn Around", 
    "id": "1", 
    "Note": "This is a new request for model with animation.", 
    "Attachment": [{ 
     "url": "request/31a.jpg", 
     "name": "a.jpg" 
    }, { 
     "url": "request/42Light.png", 
     "name": "Light.png" 
    }] 
    }] 
} 

(添付ファイルの引用符は削除されていることに注意してください)。

コントローラのJSON.parse()機能付きの添付ファイルを変換する必要があります。

+0

返事のおかげで、私は添付ファイル内の引用符を削除する場合は、すべてのコードが動作しないでしょう。最初のngリピートも機能しないことを意味します。 – Deepak3301086

+0

シングルの代わりに二重引用符を使用してください。一重引用符は有効なJSONと見なされません。私は自分の答えを編集しました – Cultti

+0

ありがとうございました。 – Deepak3301086

関連する問題