Ich bin eine Anwendung, die den Benutzer zu einem Warenkorb basierend auf ihrer Größe (individuell, mittel groß), die unterschiedliche Preise sind hinzufügen können. Das Problem, dem ich gegenüberstehe, ist, dass sich die Preise für alle Elemente im Array ändern, wenn ich mehr als eins hinzufüge (mit ng-click). Ich kann mich nicht darum kümmern!Angular js push ändernde Werte in Array
Wenn ein Benutzer ein Produkt (zum Beispiel Pizza) auswählt, wird die Variable selectedProduct
in das ausgewählte Produkt geändert.
Dies ist mein Code zum Warenkorb hinzufügen:
$scope.addToCart = function(key, size, price) {
//Add selected size and price
//Add 'extra' for selected price and size
$scope.selectedProduct.extra = {};
$scope.selectedProduct.extra = {
//price is a float
price: price,
//$scope.productSizes is a single array that
//changes int values to sizes (1 => individual, 2 => medium ...)
size: $scope.productSizes[size],
//size is the int value of the size
sizeInt: size
};
$scope.cart.push($scope.selectedProduct);
};
Als ich fügen Sie ein Element (size = 1) an das Array per Push ich dies in der zusätzlichen Schlüssel in der Konsole
0 Object
extra: Object
price: "1.99"
size: "Individual"
sizeInt: 1
Wenn ich ein zweites Element hinzuzufügen (size = 3) Mein Array ändert sowohl das erste und das zweite Element im Array
0: Object
extra: Object
price: "6.5"
size: "Large"
sizeInt: 3
1: Object
extra: Object
price: "6.5"
size: "Large"
sizeInt: 3
Vielen Dank, ich konnte das nicht herausfinden! Sie haben mein Problem behoben :) –
@JakeBown froh zu helfen –