小程序中数据拷贝的问题解析

本篇文章给大家带来的内容是关于小程序中数据拷贝的问题解析 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

近期有帮同事做一个多商品评论的页面,多商品,顾名思义就是很多个商品,每个商品有星星评价,上传图片信息以及评论内容,

因为原先有写过公众号这个功能,于是自告奋勇的去写小程序的多商品评论了,结果就掉坑里了…………

思路很简单 首先造一个星星的数组,五星好评就是五个星星的图片,是这样:

starList: [{
       srca: "img/[email protected]",
       index: "1"
       }, {
       srca: "img/[email protected]",
       index: "2"
       }, {
       srca: "img/[email protected]",
       index: "3"
       }, {
       srca: "img/[email protected]",
       index: "4"
       }, {
       srca: "img/[email protected]",
       index: "5"
       }],

懒得取下标直接用index代表评分,然后根据后台返回的商品列表数组定义一个新数组pductList进行循环定义变量starLista赋值为数组

for(var i = 0; i < response.commoditys.length; i++) {
               response.commoditys[i].starLista = starList;
  }

同时有个多张图片上传的list同理进行操作,然后给循环出的星星绑定点击事件取它的下标和index进行判断循环每个商品下的星星数组动态更改src

  for(var i = 0; i < app.dataList[index].starList.length; i++)
   {
     app.dataList[index].starList[i].srca = "img/[email protected]";
     evaluateList[index].mark = idx + 1;
     if(i <= idx)
      {
        app.dataList[index].starList[i].srca = "img/[email protected]";
       }
       evaluateList[index].mark = idx + 1;
       evaluateList[index].commodityid = cId;
 }

最后取pductList 你需要的值基本上就都在这个数组里面了 ,

————————————————————–掉坑———————————————–

开始写小程序就按照这样的思路一直写写写,然而写到一半以后突然发现,我点击了一行小星星,所有的星星颜色都会变化,经历了排查以及抓耳挠腮 坐如针垫,东张西望之后,终于发现

在定义的新数组pductList中根据下标更改starLista 原来小星星的数组starList,最初定义的数组也会随之改变

又经历了百度 谷歌 csdn 博客园等等之后 终于想起一计,将原星星数组starList 先转为字符串格式,在给定义的新数组pductList赋值的时候在转为json格式

let starListc=JSON.stringify(starList);
for(let i = 0; i < response.commoditys.length; i++) {
               response.commoditys[i].starLista = JSON.parse(starListc);
  }

终于解决问题,应该是涉及到小程序的数据深拷贝的原因,这样处理一下更改的应该就是字符串而不会更改原数组,也考虑过在造个数组去赋值,但是没有这个方法简单粗暴,对于这个搞了一个早上的坑,谨以此贴,留作纪念,以及警醒自己。。。。。。。。。。。。。。。

相关

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服![email protected] 2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励! 3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负! 4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!

立业阁 微信小程序教程 小程序中数据拷贝的问题解析 https://www.liyege.cn/xcxzsjkbdwtjx.html

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情
  • 最常见的情况是下载不完整, 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘
查看详情

相关文章