2017-01-16 3 views
0

ich arbeite mit Winkel 1.verschmelzenden einem Objekt in ein anderes, ohne ein neues Objekt zu erzeugen

I eine einfache API haben, die Objekte über die Buchse einmal alle 10 Sekunden liefert.

Die Antwort ist ein Objekt, das das vorhandene Objekt, das zum Generieren der ang1-Sicht verwendet wird, aktualisieren soll.

Wenn ich jedoch das Objekt eins für eins ersetze, flackert die ganze Seite ein wenig. Ist es möglich, ein Objekt in ein anderes zu verschmelzen, so dass sich nur die veränderten Blätter des Objekts ändern?

Ich hatte mit jQuery erweitern gehen, aber das kopiert ont in ein anderes ein zu hohes Niveau. Hier

ein Beispiel:

var a = { 
    'bob': { 
    'gender': 'male' 
    }, 
    'cat': { 
    'gender': 'female' 
    } 
}; 
var b = { 
    'bob': { 
    'gender': 'female' 
    }, 
    'cat': { 
    'gender': 'female' 
    } 
}; 

Was ich zu erreichen versuche, ist eine einzige Funktion, die nur die Unterschiede in von var b in var a fusionieren. Im obigen Beispiel würde die Funktion nur a.bob.gender ändern.

+0

Ihre Frage ist Off-Topic, aber Sie können versuchen [lashesh] (https://lodash.com/docs/4.17.4#difference) oder [Unterstrich] (http://underscorejs.org/#difference) für das –

+0

ich don stimme nicht zu meine Frage ist überhaupt kein Thema, es ist ein Javascript-Problem, das angular1 betrifft. Ich habe versucht, lodash, es ist das gleiche wie jquery, die Ausgabe ist ein neues Objekt, das dann bewirkt, dass angular1 die Ansicht vollständig neu erstellen. – John

+1

Haben Sie angle.xtend betrachtet und zusammengeführt? Sie können bestehende ändern oder neue Objekte erstellen – ste2425

Antwort

Verwandte Themen