Was ist der Unterschied zwischen angular.copy () und einer Zuweisung (=)?
Will ich weisen Sie einige Werte, wenn auf eine Schaltfläche click-Ereignis geschieht über event-parameter:
$scope.update = function(context) {
$scope.master = context;
};
Habe ich zugewiesen user
Werte $scope.master
.
Jetzt sehe ich eckig.kopieren(). Also schrieb ich den code mit eckig.kopieren.
$scope.update = function(context) {
$scope.master = angular.copy(context)
};
Beide tun dasselbe, was also ist der Unterschied? Bitte sagen Sie mir, was der Unterschied zwischen angular.copy()
und equal(=)
.
Kommentar zu dem Problem
Wenn ich mich nicht Irre,
Winkel.copy()
führt eine Tiefe Kopie, in der Erwägung, dass =
weist der Variablen an der gleichen Speicheradresse, so das Ergebnis von Winkel.copy()
wird immer ein neues Objekt, das Sie ändern können, sicher ohne änderung des original-Objektes. InformationsquelleAutor der Frage Ramesh Rajendran | 2015-04-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie Lesen Sie hier
angular.copy()
führt eine Tiefe Kopie (cf. "Klon") der argument - im wesentlichen ein neues Objekt erstellen - in der Erwägung, dass mit dem Zuweisungsoperator=
nur weist Referenz's.Also im letzteren Fall, wenn Sie etwas ändern
$scope.master
Sie würde sich auch änderncontext
.Cheers,
InformationsquelleAutor der Antwort Anders R. Bystrup
=
stellt eine Referenz in der Erwägung, dassangular.copy()
erstellt ein neues Objekt, wie eine Tiefe Kopie.Mit
=
würde bedeuten, dass das ändern einer Eigenschaft descontext
würde ändern Sie die entsprechende Eigenschaft von$scope.master
oder Umgekehrt.Mit
angular.copy()
die beiden Objekte getrennt bleiben und die änderungen würden nicht unbedingt auf jeden anderen.InformationsquelleAutor der Antwort Asher
Beim Bearbeiten primitiven Typen (wie int) in Javascript
=
undangular.copy
sind die gleichen wie bei jeder Belegung Ergebnisse kopieren Sie den Wert der Variablen.Beim manipulieren von Objekten in Javascript
=
weisen eine Referenz auf das vorhandene Objekt an die variable undangular.copy
ist das kopieren, das heißt, erstellen Sie ein neues Objekt mit den gleichen Eigenschaften und Werte und weisen Sie dem neuen Objekt die Referenz auf die variable.InformationsquelleAutor der Antwort tiledcode
Einfach
angular.copy()
ist die gleiche wie.clone()
von jquery das erstellen und gibt dasselbe Objekt kopieren mit Abt. (call-by-value)=
es tut, weisen Sie den Wert mit der Referenz-Wert(call-by-reference),a = b
in dieser eine wirdb
Wert zugewiesen wirda
, aber wenn beidea
&b
array sind dann änderungen ina
spiegeln inb
& Umgekehrt.InformationsquelleAutor der Antwort Pankaj Parkar