2016-07-27 6 views
0

Versuchen, die Antwort zu manipulieren, um isLoggedin = true in der Antwort mit .map zu ändern, aber es gibt mir einen Fehler von "Karte" ist keine Funktion.angularjs mit .map ist keine Funktion

vm.dataResponse = response.data.map(function(data){ 
    data.isLoggedIn = false; 
}); 

Des Versuch, dies zu tun, so kann ich ein Datum zu verweisen, ob der Benutzer in oder nicht (Login/Abmelden) zu zeigen, angemeldet ist. Oder ich könnte $rootScope verwenden, aber ich dachte global zu verwenden ist nicht ideal?

$rootScope.isLoggedIn = false; 

dann in meiner vm.login Funktion wird die $rootScope dann auf true eingestellt werden, dies funktioniert, aber wenn ich die Seite aktualisieren geht es zurück auf false gesetzt.

+0

Was es 'console.log (Antwort. Daten) 'Drucke? – developer033

Antwort

1

response.data benötigen ein Array sein, um die Verwendung .Map

.Map wird durch Iterieren über alle Werte eines vorhandenen Arrays und Zurückführen der Ergebnisse einer vorgesehenen Rückruf bei jeweils ein neues Array erstellen Mitglied des Arrays, z.

var oldArray = [1,2,3,4]; 
var newArray = oldArray.map(function(number){ 
    return number * 2; 
}); 
//newArray = [2,4,6,8] 

So in Ihrem Beispiel arbeiten würde es auch nicht, wenn response.data ein Array war, als Sie nichts von dem Rückruf der Rückkehr werden.

Wenn response.data ein Objekt ist, können Sie einfach die Eigenschaft direkt hinzufügen, z.

response.data.isLoggedIn = false; 

Wenn Sie das tun könnte als developer033 die Ausgabe eines console.log von response.data legt nahe, und liefern, die, wie am besten identifizieren würde helfen, sie zu behandeln.

Edit:

Da Sie nur einen String Versuch der Rückkehr:

vm.dataResponse = {username: response.data, isLoggedIn: true}

+0

Ah ich sehe, ich gebe nur ein einzelnes Objekt zurück, wenn vm.login aufgerufen wird. Gib einfach den Benutzernamen zurück. Versucht, einfach zu tun response.data.isLoggedIn = false, aber Fehler sagt (kann Eigenschaft auf String "Benutzername" nicht erstellen) – nCore

+0

siehe meine Bearbeitung oben – glendaviesnz

Verwandte Themen