首页 > 技术分享 > 微信小程序
收藏

微信小程序自组对象注意事项

11/29 14:27
大潇博客 原创文章,转载请标明出处

适用于此类场景:

初始在data中定义了一组或多组多维对象,还有一个或多个数组,程序运行时,动态把这些对象和数组拼起来,组合一个新的多维数组,举一个简单的例子,如下图

小程序对象介绍.png


新组成的对象,渲染数据没有任何问题,但若用在交互过程中有极大隐患。

容易出现的问题:修改某个最底层元素的值,最后的结果是整个对象中,同级并且key相同的value都被修改。


举个例子说明:在上面的代码中,要修改:Tmp['AA']['aa']['mm'] 的值,即使准确锁定到这个元素中,但结果是,只要底层的key是“mm”,均被修改。


解决办法:

存在这个问题,是因为新对象的不同元素中,同时使用“Obj”了对象做为子元素,在尝试创建好新对象后,仅修改“Obj”对象内的某个值时,新对象的值也被修改。

那么可以得出结论,这种修改可能是“改地址”级别的。


所以要解决这种问题,最好是动态创建新对象时,子对象每次也要重新生成,这样可以保证每个看上去虽然相同,但却出自不同之手。

小程序自组对象.png


简单的一个小问题,了解之后可以少走很多弯路,节省开发时间。


打赏

阅读排行

大家都在搜

博客维护不易,感谢你的肯定
扫码打赏,建议金额1-10元
  • 15601023311