2017-06-13 4 views
0

Ich versuche, eine Lager Nachricht zeigen, ob das Element genug quantity im API-Objekt für den Benutzer, um die richtige Menge an quantity in der Korb. Managed es mit einzelnen Artikeln zu tun, aber da die Artikeln im Warenkorb ist ein Array ein Problem mit dem Lager Nachricht in auf dem rechten Seite Artikel Index zeigen ng-repeatAngularjs überprüfen Artikel Lager Nachricht in ng-Wiederholung, Anzeige der Nachricht in der richtigen Artikel Index

HTML-Template-Code: -

<div ng-repeat="item in vm.basketList"> 
... 
<button ng-click="vm.update(item)">Update qty</button> 
// stock message 
<span ng-if="vm.checkStock == false" class="text-warning">Stock is not enough.</span> 
</div> 

Controller Update Menge: -

vm.update = function (item) { 

// Will be needing this var for later 
    var updateCartItem = { 
     .... 
     Products: [item] 
    } 

// Date required for HTTP stock check 
    var xd = { 
     ... 
     ProductIds: [updateCartItem.Products[0].product_idField] 
    } 
itemService.itemStock(xd) 
    .then(function (response) { 
    console.log('Checking stock...'); 

    for (var i = 0; i < response.data.Results.length; i++) { 
     var stockElement = response.data.Results[i]; 
    if (stockElement.qtyField >= updateCartItem.Products[0].qtyField) { 
     console.log('Stock is enough go ahead update QTY'); 
      vm.checkStock = true; 
     } else { 
     console.log('Stock is not enough'); 
     vm.checkStock = false; 
     } 
    } 

} 

Hier ist ein Bild von ich versuche zu erreichen, ich markiert sie als Kreuz und Kontrolle (Kreuz = nicht genügend Vorrat, überprüfen = genug Lager so aktualisieren). So sollte Nachricht not enough stock nur auf dem Artikel mit Kreuz angezeigt werden. enter image description here

Meine Frage ist, wie mache ich die Nachricht in dem richtigen Index für Artikel, die nicht genügend Bestand haben, wenn ich auf die Schaltfläche klicken, die qty zu aktualisieren?

Hope diese Frage sinnvoll für einige und wäre in der Lage zu beantworten.

Antwort

1

haben checkStock Eigenschaft auf Artikel.

vm.checkStock = false; 
// make this 
item.checkStock = false 

In Repeater

<span ng-if="vm.checkStock == false" class="text-warning">Stock is not enough.</span> 

Ändern Sie diese zu

<span ng-if="item.checkStock == false" class="text-warning">Stock is not enough.</span> 
+0

was -.- Ich habe versucht, dass früher und es hat nicht funktioniert. Ich schätze wegen des zusätzlichen 'if()' ich hatte aber ich entfernte es, wenn ich die Frage poste. Scheint zu arbeiten :) – MrNew

+0

aber es entfernt nicht die Nachricht, wenn die Lagermenge innerhalb des Lagerwertes ist. – MrNew

+0

vm.checkStock = true -> item.checkStock = true, hast du das geändert? Wenn ja, dann beim Update sollte es funktionieren. – TJK

Verwandte Themen