Ich erhalte Daten aus einer WebAPI und speichert sie in einem Bereich variabler Bereich Produkte.AngularJS Hinzufügen von Objekt zu Array aktualisiert alle ähnlichen Objekte
$scope.products
Ich habe auch eine zweite scoped Array
$scope.selectedFish = [];
Was ich versuche, ein Produkt in dem Produkte-Array zu tun ist, zu finden, modifizieren und in die selectedProducts Array hinzuzufügen.
Ich habe die folgende Funktion auf dem gleichen Controller deklariert.
// Function to add a new fish to the selectedFish array
$scope.add = function() {
// Find existing fish from products list
var newFishToAdd = $filter('filter') ($scope.products, { Id: $scope.selectedProduct });
// Change the name property
newFishToAdd[0].FishName = $scope.selectProductName;
// Add new fish to the selected fish array
$scope.selectedFish.push(newFishToAdd[0]);
$scope.bindModel();
}
Dies funktioniert, aber ich Schwierigkeiten habe, wo, wenn ich das gleiche Produkt zweimal mit unterschiedlichen FishName Werten hinzufügen, aktualisieren sie alle Einträge in dem Array für die gleiche selectedProduct mit dem letzten FishName eingetragen.
Sie drücken das gleiche Element, denke ich .. '$ scope.selectedFish.push (newFishToAdd [0]);' Verwenden Sie angular.copy für tiefes Kopieren. –