Heim >WeChat-Applet >Mini-Programmentwicklung >Analyse von Problemen beim Datenkopieren in Miniprogrammen
Der Inhalt dieses Artikels befasst sich mit der Analyse von Datenkopierproblemen in Miniprogrammen. Ich hoffe, dass er für Freunde in Not hilfreich ist.
Kürzlich habe ich meinen Kollegen dabei geholfen, eine Multi-Produkt-Bewertungsseite zu erstellen. Wie der Name schon sagt, bedeutet jedes Produkt eine Sternebewertung, hochgeladene Bildinformationen und Bewertungsinhalte
Da ich ursprünglich die Funktion eines öffentlichen Kontos geschrieben habe, habe ich mich freiwillig bereit erklärt, mehrere Produktbewertungen für das Miniprogramm zu schreiben, aber ich bin in eine Falle getappt...Die Idee ist sehr einfach. Erstellen Sie zunächst eine Reihe von Sternen, eine Fünf-Sterne-Bewertung ist ein Bild mit fünf Sternen wie folgt:starList: [{ srca: "img/star02@3x.png", index: "1" }, { srca: "img/star02@3x.png", index: "2" }, { srca: "img/star02@3x.png", index: "3" }, { srca: "img/star02@3x.png", index: "4" }, { srca: "img/star02@3x.png", index: "5" }],Ich bin zu faul, den Index zu entfernen und den Index direkt zur Darstellung der Bewertung zu verwenden und dann zu definieren ein neues Array pductList basierend auf dem vom Hintergrund zurückgegebenen Produktlisten-Array, um Variablen zu schleifen und zu definieren. StarLista wird ein Array
for(var i = 0; i < response.commoditys.length; i++) { response.commoditys[i].starLista = starList; }zugewiesen und eine Liste mit mehreren gleichzeitig hochgeladenen Bildern kann auf die gleiche Weise bedient werden. Binden Sie dann das Klickereignis des Schleifensterns, um dessen Index und Index zu erhalten und die Schleife unter jedem Produkt zu beurteilen. Ändern Sie dynamisch das Sternarray src
for(var i = 0; i < app.dataList[index].starList.length; i++) { app.dataList[index].starList[i].srca = "img/star02@3x.png"; evaluateList[index].mark = idx + 1; if(i <= idx) { app.dataList[index].starList[i].srca = "img/star01@3x.png"; } evaluateList[index].mark = idx + 1; evaluateList[index].commodityid = cId; }Nehmen Sie schließlich die Produktliste. Im Grunde sind alle Werte enthalten, die Sie benötigen Array, -------------- --------------------------- -----------------------In eine Falle tappen- ---------------------- ------------- Ich habe angefangen, ein kleines Programm zu schreiben, und habe diese Denkweise beibehalten Als ich gerade mit dem Schreiben fertig war, entdeckte ich plötzlich, dass ich auf eine Reihe kleiner Sterne klickte und die Farben aller Sterne sich änderten. Nachdem ich die Fehlersuche durchgeführt hatte, mich am Kopf kratzte und mich umsah, fand ich das schließlich 🎜> ändert starLista
entsprechend dem Index im definierten neuen Array productList Das ursprüngliche Array starList der kleinen Sterne, ursprünglich definiert Auch das Array wird sich entsprechend ändern Nachdem ich Baidu Google CSDN Blog Park usw. durchgesehen hatte, kam ich schließlich auf den Plan, das ursprüngliche Star-Array
starList in ein String-Format umzuwandeln Zuerst wurde das Problem beim Zuweisen eines Werts zum neuen Array pductList in das JSON-Format let starListc=JSON.stringify(starList);
for(let i = 0; i < response.commoditys.length; i++) {
response.commoditys[i].starLista = JSON.parse(starListc);
}
gelöst. Dies sollte an der tiefen Kopie der Daten im Applet liegen. Lassen Sie uns die Änderungen so behandeln. Es sollte ein String sein, ohne das ursprüngliche Array zu ändern. Ich habe auch darüber nachgedacht, ein Array zu erstellen, um Werte zuzuweisen, aber diese Methode ist nicht einfach und grob. Ich möchte den ganzen Morgen posten Dies als Andenken und um mich selbst zu warnen. . . . . . . . . . . . . . .
Verwandte Empfehlungen:
MySQL-Datenbank_MySQL sichern und kopierenAusführliche Javascript-Erklärung zu Shallow Copy und Deep CopyDas obige ist der detaillierte Inhalt vonAnalyse von Problemen beim Datenkopieren in Miniprogrammen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!