2016-07-15 12 views
0

mein Service gibt Daten von DB, jetzt möchte ich bestimmte Werte aus diesen Daten in ein Array mit AngularJS schieben.Schieben Sie die Werte in ein Array mit AngularJS

var prodData = make a call to the service. 

var versionsArray = []; 

Die Daten aus dem Dienst zurück ähnelt Format

{"prodId":"31123","prodName":"IPhone","Versions":[4,5,6]} 

Jetzt möchte ich die Werte des Feldes "Versionen" drücken: [4,5,6] in einem Array genannt versionsArray, so dass ich später dieses Array zu einem Drop-Down binden und die Versionen in der Dropdown-Liste anzeigen kann.

ich auf etwas in der Art und Weise unten wollte

Versions.push({ 
id: prodData.Versions, 
value: prodData.Versions 
}); 

Wie kann ich diese Werte ein Push sie in einem Array abzurufen?

+0

Können Sie den Code teilen, den Sie in Ihrem Angular-Dienst verwenden? Wie ein Geiger oder Plunkr wäre hilfreich. –

+0

https://plnrkr.co/edit/MEZbNfBv0iFrehNPbRVe?p=preview – Henriques

Antwort

0

gut, hier, wie Sie es tun können,

angular.forEach(prodData.Versions, function(version) { 
    versionsArray.push(version); 
}); 

Ich hoffe, es hilft Ihnen.

Prost!

+0

danke, aber prodData.Versions zeigt als undefined .. wenn ich den Dienst vom Browser anrufe zeigt er die Daten wie oben in meinem Beitrag gezeigt. ? – Henriques

+0

Wenn Sie einen Plunder machen können, werde ich Ihr Problem lösen. Danke – varit05

+0

Ich versuchte durch das Beste, um diesen Plunk zu schaffen, https://plnrkr.co/edit/MEZbNfBv0iFrehNPbRVe?p=preview hoffe, es hilft Ihnen, mir zu helfen .. es sieht ähnlich aus. – Henriques

0

Sie können Daten schieben in ein Array, wie Sie normalerweise in einfachen Javascript würde array.push() Methode

Ansicht

<div ng-app> 
    <div ng-controller="sampleCtrl"> 
    <select ng-model="yourModel" ng-options="ver as ver for ver in  
    versionArray"> 
     <option value="">Select a version</option> 
    </select> 
    </div> 
</div> 

-Controller

function sampleCtrl($scope) { 
    var data = { 
    "prodId": "31123", 
    "prodName": "IPhone", 
    "Versions": [4, 5, 6] 
    } 

    $scope.versionArray = []; 
    angular.forEach(data.Versions, function(item) { 
    $scope.versionArray.push(item); 
    }); 
} 

Siehe unter Verwendung fiddle here

Verwandte Themen