Maison >Applet WeChat >Développement de mini-programmes >Analyse des problèmes de copie de données dans les mini-programmes

Analyse des problèmes de copie de données dans les mini-programmes

不言
不言original
2018-09-04 13:46:342836parcourir

Le contenu de cet article concerne l'analyse des problèmes de copie de données dans les mini-programmes. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Récemment, j'ai aidé mes collègues à créer une page d'avis multi-produits, comme son nom l'indique, chaque produit a une note par étoiles, des informations sur les images téléchargées et un contenu d'avis. 🎜>

Parce qu'à l'origine j'avais écrit la fonction de compte public, je me suis donc porté volontaire pour rédiger plusieurs critiques de produits pour le mini programme, mais je suis tombé dans un piège...

L'idée est très simple. Créez d'abord un tableau d'étoiles, un avis cinq étoiles est une image de cinq étoiles, comme suit :

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"
       }],
Je suis trop paresseux pour supprimer l'indice et utiliser directement l'index pour représenter la note. , puis définissez un nouveau tableau productList basé sur le tableau de liste de produits renvoyé par l'arrière-plan pour la boucle. Définissez la variable starLista et attribuez-la au tableau

for(var i = 0; i < response.commoditys.length; i++) {
               response.commoditys[i].starLista = starList;
  }
S'il existe une liste de plusieurs images téléchargées sur. en même temps, effectuez la même opération, puis liez l'événement click à l'étoile dans la boucle pour obtenir son indice et son index pour juger chaque boucle. Le tableau d'étoiles sous chaque produit change dynamiquement 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;
 }
. Enfin, prenez productList. Les valeurs dont vous avez besoin sont essentiellement toutes dans ce tableau,

--------- ----------------- --------------------------------- ---Tomber dans la fosse---------- -------------------------------------- --

J'ai commencé à écrire un petit programme et j'ai continué à écrire dans cette ligne de pensée. Cependant, à mi-chemin de l'écriture, j'ai soudainement découvert que je cliquais sur une rangée de petites étoiles et que les couleurs de toutes les étoiles changeaient. un coussin à épingles, après avoir regardé autour de moi, j'ai finalement découvert que

changeait starLista selon l'indice dans le nouveau tableau défini pductList . Il s'avère que Star array starList, le tableau initialement défini changera également en conséquence

Après avoir parcouru le parc de blogs Baidu Google csdn, etc., j'ai finalement pensé à un plan et modifié le tableau d'étoiles d'origine.

starList Convertissez-le d'abord au format chaîne, puis convertissez-le au format json lors de l'attribution d'une valeur au nouveau tableau

pductList
let starListc=JSON.stringify(starList);
for(let i = 0; i < response.commoditys.length; i++) {
               response.commoditys[i].starLista = JSON.parse(starListc);
  }
Enfin, le problème. est résolu, ce qui devrait impliquer la profondeur des données du mini-programme. La raison de la copie est de gérer le changement dans la chaîne sans modifier le tableau d'origine. J'ai également envisagé de créer un tableau pour attribuer des valeurs, mais cette méthode n'est pas simple et grossière. . J'ai été coincé avec ça toute la matinée, alors j'aimerais poster ceci, le garder en souvenir et pour vous alerter. . . . . . . . . . . . . . .

Recommandations associées :

Sauvegarder et copier MYSQL database_MySQL

Explication détaillée de Javascript sur la copie superficielle et la copie profonde

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn