2015-09-09 4 views
5

Dieses Array istWie für den Zugriff auf erste Wert von Array in Angular JS ng-repeat

["236.jpg","239.jpg","294.jpg","748.jpg","157.jpg","446.jpg","871.jpg","778.jpg"] 

I

"236.jpg"

zugreifen möchten. Der Code, unter dem ich das Top-Array abrufe. Wie kann ich das erste Element mit dem folgenden Code abrufen?

<tr ng-repeat="x in p"> 
    <td> 
    {{ x.images }} 
    </td> 
</tr> 

Bitte helfen Sie mir die sollution herauszufinden.

Denn hier mehr ist der vollständige Code

{"info":[{"id":"11","name":"brown","description":"fasdfasd","size":"fasdf","color":"5a72fb","created_at":"2015-09-08 22:33:33","updated_at":"2015-09-08 22:33:33","images":"[\"236.jpg\",\"239.jpg\",\"294.jpg\",\"748.jpg\",\"157.jpg\",\"446.jpg\",\"871.jpg\",\"778.jpg\"]"},{"id":"13","name":"fasdf","description":"asdfghjkl","size":"fasdf","color":"5a72fb","created_at":"2015-09-09 11:48:31","updated_at":"2015-09-09 11:48:31","images":"[\"910.jpg\",\"504.jpg\",\"784.jpg\"]"}]} 


angular.module('myApp', []).controller('myCtrl', function($scope, $http){ 
     $http.get('test').success(function (data){ 
     $scope.p = angular.fromJson(data); 
     console.log(angular.fromJson(data)); 
     }); 
}); 

<tbody ng-controller="myCtrl"> 
    <tr ng-repeat="x in p"> 
    <td ng-if="x.images "> 
     {{ x.images | limitTo:$index }} 
    </td> 
    <td>{{ x.size }}</td> 
    </tr> 
</tbody> 

Jetzt mir bitte mit vollständigem Code helfen. Vielen Dank.

+3

Sie nutzen könnten 'ng-if = "$ first"' 'innen ng-repeat' –

+0

Check hier: https://docs.angularjs.org/api/ng/directive/ngRepeat ... überprüfen Sie Oliver Smiths Antwort. Er hat es. –

+0

Ich habe meine Frage aktualisiert. Bitte geben Sie mir eine Lösung –

Antwort

13

Nun tun nur folgendes funktioniert:

<td> 
    {{p[0]}} 
</td> 
1

für Ihren Zustand, Sie ng-if innerhalb ng-repeat als Pankaj sagte im Kommentar verwenden können.

var app = angular.module('ExampleApp', []); 
 
    app.controller('appController', ['$scope', function($scope) { 
 
    $scope.p = { 
 
     "info": [{ 
 
     "id": "11", 
 
     "name": "brown", 
 
     "description": "fasdfasd", 
 
     "size": "fasdf", 
 
     "color": "5a72fb", 
 
     "created_at": "2015-09-08 22:33:33", 
 
     "updated_at": "2015-09-08 22:33:33", 
 
     "images": ['\"236.jpg\"','\"504.jpg\"','\"784.jpg\"'] 
 
     }, { 
 
     "id": "13", 
 
     "name": "fasdf", 
 
     "description": "asdfghjkl", 
 
     "size": "fasdf", 
 
     "color": "5a72fb", 
 
     "created_at": "2015-09-09 11:48:31", 
 
     "updated_at": "2015-09-09 11:48:31", 
 
     "images": ['\"910.jpg\"','\"504.jpg\"','\"784.jpg\"'] 
 
     }] 
 
    } 
 

 
    }]);
<!DOCTYPE html> 
 
<html lang="en"> 
 

 
<head> 
 
    <meta charset="utf-8"> 
 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.18/angular.js"></script> 
 
    <script src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script> 
 
    <script src="script.js"></script> 
 
</head> 
 

 
<body ng-app="ExampleApp"> 
 
    <div ng-controller="appController"> 
 
<div ng-repeat="x in p.info"> 
 
    {{ x.images[0] +" are first"}} 
 
</div> 
 
    </div> 
 
</body> 
 

 
</html>

Hier ist die Link für Ihren Code arbeiten

Hope it you :)

+0

Bitte lesen Sie meinen Code erneut. Ich habe die Frage aktualisiert. –

+0

und jetzt, wenn ich den ersten Wert der Bilder "236.jpg" nehmen möchte, was muss ich tun? –

+0

Code bearbeitet. Ich denke jetzt wird es funktionieren. – Thinker

6

Es gibt viele Möglichkeiten, es zu tun, um zu verstehen hilft. Ein Weg wäre Filter LimitTo zu verwenden: 1 mit ng-Wiederholung.

Versuchen Sie, diese

<tr ng-repeat="x in p | |limitTo:1"> 
    <td> 
    {{ x.images }} 
    </td> 
</tr> 
+0

Sollte es nicht "x in p | limitTo: 1" sein? – Aivar

Verwandte Themen