l***@163.com
l***@163.com
  • 发布:2021-12-07 17:10
  • 更新:2022-11-30 11:08
  • 阅读:778

【报Bug】微信小程序端依赖 mp.runtime.esm.js --> cloneWithData 方法优化建议

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 3.2.16

第三方开发者工具版本号: 1.05.2109101

基础库版本号: 2.19.4

项目创建方式: HBuilderX

操作步骤:

任意组件prop传递对象或数组,且其中包含函数数据

预期结果:

组件中接收prop数据的时候可以拿到函数数据

实际结果:

组件中接收prop数据的时候无法拿到函数数据

bug描述:

暴力的序列化数据,导致如果对象中包含方法等数据会被直接过滤掉,得采用很麻烦的方式去兼容。我测试过微信小程序原生是支持传递方法的。而且我搜索这个问题 19 年就有人提出来了但一直没改,个人觉得确实是把序列化的方法换成深度复制就可以解决,希望官方可以重视一下,谢谢。

2021-12-07 17:10 负责人:DCloud_UNI_GSQ 分享
已邀请:
l***@163.com

l***@163.com (作者)

自己写了个插件解决,有遇到同样问题的兄弟可以参考下:插件地址

l***@qq.com

l***@qq.com

大佬 我最近也遇到这个问题
能帮我看看?

j***@163.com

j***@163.com

看到这个写法,瞬间能看出此函数开发者的水平如何了。对一个已经实例化的对象,居然不考虑任何副作用,而使用JSON.stringify。其实放到dcloud官方,这样的问题不应该发生的,测试也不应该通过的。说实话,如果是有一年以上js项目开发经验的,多多少少也应该吃过像JSON.stringify(window)此类的亏。

该问题目前已经被锁定, 无法添加新回复