2016-06-02 6 views
0

Ich habe einen Dienst, der einen JSON von einer URL abruft, verwende ich ng-repeat, um Werte in einer Liste anzuzeigen.So ändern Sie Werte von JSON-URL in Angular abgerufen

Mein sieht JSON wie folgt aus:

[ 
    {"iconuser":"livingroom1","class":"w5","status":"0"},  
    {"iconuser":"meetingroom1","class":"w4","status":"1"} 
] 

Wie ersetze ich einige Werte dieses Objekts.

Beispiel:

status = 0status = OFF
status = 1 sollte

Antwort

1

In nativer Winkel:

$scope.item = [{"iconuser":"livingroom1","class":"w5","status":"0"}, 
{"iconuser":"meetingroom1","class":"w4","status":"1"}]; 

angular.forEach($scope.item,, function(obj) { 
    if(obj.status === 0) 
     obj.status = "OFF"; 
    else 
     obj.status = "ON"; 

    return obj; 
}); 
+0

danke für deine antwort, was soll ich dann verwenden, um den neuen wert in meiner liste anzuzeigen? Derzeit benutze ich {{device.status}} (vom Gerät in Geräten) –

+0

Diese Antwort überschreibt den 'Status' in json zu string (' On/Off'), du kannst es trotzdem als 'device.status' verwenden. Möchten Sie eine neue Eigenschaft erstellen, die den ursprünglichen 'Status' als (' 1/0') behält? – Sajal

1

status = ON sein können Sie Array.map Ihre Antwort zu formatieren, verwenden sollte:

var formattedData = responseData.map(function(obj) { 
    if (obj.status === 0) { 
     obj.status = "OFF"; 
    } //etc 

    return obj; 
}); 
Verwandte Themen