Erläuterung:AngularJS: Kopieren vs erweitern
wir in einigen Situation kommen, in der wir ein Objekt auf ein anderes Objekt kopieren müssen. In diesem Fall haben wir wahrscheinlich zwei Lösungen: angular.copy() oder angular.extend().
Herausforderung, die ich bin vor:
Wie wir wissen angular.copy(source, destination)
eine tiefe Kopie des Quellobjekts erzeugt und es zum Ziel zuweisen. Mit dem Schreiben von "Deep Copy" meinen wir, dass eine neue Kopie des referenzierten Objekts erstellt wird und dass es gut funktioniert.
tiefere Kopie Code:
var mySource = {'name' : 'Rohit', 'age' : '24'}
var myDest = {}
angular.copy(mySource,myDest);
mySource.name = "Jindal";
console.log(mySource); // Object {name: "Jindal", age: "24"}
console.log(myDest); // Object {name: "Rohit", age: "24"}
console.log(mySource.obj === myDest.obj); // false
Hier ändere ich das Quellobjekt mySource.name = "Jindal"
aber es beeinflusst nicht das Zielobjekt myDest
wie erwartet. Wenn wir mySource.obj === myDest.obj
überprüfen, wird dies false ergeben, da beide auf verschiedene Objekte zeigen.
Nun, ich habe Probleme mit angular.extend(destination, source)
, da es eine shallow copy
bedeutet in diesem sowohl Quelle und Ziel wird auf die gleiche Adresse zeigen. So, if i will modify source object then it will also reflect in destination object. But it's not happening.
flache Kopie Code:
var mySource = {'name' : 'Rohit', 'age' : '24'}
var myDest = {}
angular.extend(myDest,mySource);
mySource.name = "Jindal";
console.log(mySource); // Object {name: "Jindal", age: "24"}
console.log(myDest); // Object {name: "Rohit", age: "24"}
console.log(mySource.obj === myDest.obj); // True
jsfiddle: https://jsfiddle.net/U3pVM/24322/
wie ich in diesem neu bin, Hilfe benötigen den richtigen Fluss von angular.copy() & angular.extend zu verstehen ().
Jede sofortige Hilfe wird sehr spürbar sein. Danke
Danke..Gute Erklärung !! –