Ich erstelle eine Shopping-Anwendung (Angular JS und Ionic). Immer wenn ich ein Element zum Warenkorb hinzufüge, wird das vorherige Element überschrieben. Unten ist mein Code:Werte, die im AngularJS-Array überschrieben werden
detail.html:
<ion-view view-title="DetailPage">
<ion-content>
<h4>
Product Details
</h4>
<ion-view view-title="playlists">
<ion-content>
<input type="button" ng-click="addToCart();" value="add cart" />
</ion-content>
</ion-view>
Controller.js:
.controller('detailsCtrl', function($scope, $stateParams) {
var productname = $stateParams.playlistname;
var arr = [];
$scope.addToCart = function() {
arr.push(productname);
localStorage.setItem('arr', arr);
})
Wie gehe ich das Überschreiben von Elementen?
Dies ist die richtige Antwort. –
Nein. Dieser Code löst einen Fehler aus, der besagt, dass arr.push keine Funktion ist. – Gunner
Vielleicht haben Sie bereits ein Element namens 'arr' in localStorage, das kein Array ist. Löschen Sie entweder Ihre localStorage und versuchen Sie es erneut oder verwenden Sie einen anderen Variablennamen (wahrscheinlich ist eine gute Idee, da 'arr' sowieso nicht sehr beschreibend ist). –