In diesem Artikelbeispiel wird der spezifische Code von js zur Implementierung der Warenkorbberechnung zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt Jeder Shop verfügt über entsprechende Produktoptionen, die nach Shop, Produktauswahl, Shopauswahl, Hinzufügen und Entfernen der Produktmenge sowie Löschen ausgewählt werden können. Code: <Skript> Standard exportieren { Daten() { zurückkehren { count:0, //Die Anzahl aller Waren shopCarList: [], //Alle Waren selectList:[] //Ausgewählte Waren} }, berechnet: { //Gesamtpreis ausgewählt selectPrice(){ gib dies zurück.selectList.reduce((Gesamt,Element,Index)=>{ gib Gesamtsumme+Artikelmenge*(Artikelaktivitätspreis || Artikelpreis) zurück; },0) }, //Gesamtzahl der Auswahlen selectNum(){ gib dies zurück.selectList.reduce((Gesamt,Element,Index)=>{ gib Gesamtsumme+Artikelmenge zurück; },0) }, //Ob alles ausgewählt werden soll, isSelecetAll(){ gib dies zurück.shopCarList.every(item=>{ Artikel zurückgeben.shopSelect===true }) } }, Methoden: { //Inkrement(itm){ itm.quantity<itm.bestand?itm.quantity++:''; }, //dekrementieren dekrement(itm){ Artikelmenge>1?Artikelmenge--:'' }, //Alles auswählen, auf allChooseHandle() klicken{ dies.initSelectAll(!dies.istSelectAll); }, //Produkt-Einzelauswahlklick productChooseHandle(itm,index){ let productFlag = !itm.productSelect; dies.$set(itm,'productSelect',productFlag); let shopFlag = this.shopCarList[index].products.every(i=>{ gibt i.productSelect===true zurück; }) dies.$set(dieses.shopCarList[index],'shopSelect',shopFlag); dies.getSelected(); }, //Shop-Einzelauswahl-Klick shopChooseHandle(item,index){ let Flag = !item.shopSelect; dies.$set(item,'shopSelect',Flag); Artikel.Produkte.fürJeden((itm,idx)=>{ dies.$set(itm,'productSelect',Flag); }) dies.getSelected(); }, //Das ausgewählte Produkt abrufen getSelected(){ lass tempArr = []; dies.shopCarList.forEach((item,index)=>{ Artikel.Produkte.fürJeden((itm,idx)=>{ wenn(itm.productSelect){ tempArr.push(itm); } }) }) diese.selectList = tempArr; }, //Ob die Initialisierung alle auswählen soll initSelectAll(Flag){ dies.shopCarList.forEach((item,index)=>{ dies.$set(item,'shopSelect',Flag); Artikel.Produkte.fürJeden((itm,idx)=>{ dies.$set(itm,'productSelect',Flag); }) }) dies.getSelected(); }, //Warenkorbliste abrufen getCarList(){ gib dies zurück.$api.personal.getCarList().then(res=>{ wenn(res.result==='000'){ //Anzahl abgelaufener Produkte let expiredNum = 0; res.data.expiredList.fürJeden(item=>{ Artikel.Produkte.fürJeden(itm=>{ abgelaufeneNummer += Artikelmenge }) }) // Gültige Produktmenge this.count = res.data.count - expiredNum; diese.shopCarList = res.data.shopCarList; Promise.resolve() zurückgeben } }) }, //Löschen-Klick delCarList(itm,index,idx){ dies.$api.personal.delCarList( [itm.carId] ).dann(res=>{ wenn(res.result==='000'){ diese.Anzahl -=itm.quantity; diese.shopCarList[index].products.splice(idx,1); wenn(this.shopCarList[index].products.length===0){ dies.shopCarList.splice(index,1); } dies.getSelected(); } }) }, }, erstellt() { dies.getCarList().then(()=>{ Dies.initSelectAll(true); }); }, }; </Skript> Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: MySQL-Passwort ist korrekt, aber keine lokale Anmeldung möglich -1045
Inhaltsverzeichnis 1. Entpacken 2. Erstellen Sie ...
Beginnen wir nicht mit der Einleitung, sondern ko...
Inhaltsverzeichnis Vorwort Fügen Sie Sudo-Schreib...
Mithilfe der Vue-Sprache und Elementkomponenten m...
Dieser Artikel beschreibt Beispiele zum Erstellen...
Inhaltsverzeichnis schließen Fallstudie: Vertiefe...
Vertikale Teilung Vertikale Aufteilung bezieht si...
1. Überprüfen Sie die Zeitzone der Datenbank Vari...
Vorwort Schauen wir uns zunächst den Endeffekt an...
Als ich heute einen Docker-Container erstellt hab...
In einigen Szenarien möchten wir derselben Ethern...
Wenn wir eine neue CSS-Funktion verwenden möchten...
Linux erstellt NFS-Server Um den Datenaustausch z...
Vorwort Tipp: Hier können Sie den ungefähren Inha...
In diesem Artikel wird der spezifische Code von J...