Ich versuche mein eigenes Cart-System in Angular und Node zu erstellen. Mein Controller behandelt sowohl Benutzerwagen in einer Mongo-Datenbank als auch Wagen im lokalen Speicher (wenn ein Benutzer kein Konto hat). Im Moment habe ich einen Weg für meinen Wagen-Controller geschaffen, um einen Einkaufswagen-Artikel aus dem lokalen Speicher und der Datenbank zu entfernen. Meine eckige Ansicht beobachtet das Objekt.Angular Wie man auf Änderungen an einer Scope-Variablen achtet
$scope.lineItems
Zum Bestücken des Einkaufswagens mit Artikeln. Im Moment kann ich den aktualisierten Einkaufswagen erfolgreich erhalten, aber ich muss meine Seite aktualisieren. Was wäre der beste Weg, um den Gültigkeitsbereich zu aktualisieren, indem eine Funktion ausgelöst wird, die den Gültigkeitsbereich aktualisiert?
Code:
if (token) {
var payload = authService.parseToken(token);
dataService.getCart(payload._id).then(function (resolve){
if (resolve.data){
$scope.lineItems = resolve.data;
$scope.deleteLineItem = function(lineitem){
dataService.deleteLineItem([lineitem.lineItemID, payload._id]);
}
}
}, function(reason){
console.log(reason);
});
} else {
if (dataService.retrieveLocal('localCart')){
$scope.lineItems = dataService.retrieveLocal('localCart');
$scope.deleteLineItem = function(lineitem){
var cart = dataService.retrieveLocal('localCart');
var updatedCart = cart.filter(function(item){
if (lineitem.lineItemID != item.lineItemID){
return item
}
})
dataService.storeToLocal('localCart', updatedCart);
}
}
}