uni-app 微信小程序端依赖 mp.runtime.esm.js 中 cloneWithData 方法优化建议

uni-app 微信小程序端依赖 mp.runtime.esm.js 中 cloneWithData 方法优化建议

开发环境 版本号 项目创建方式
Windows win10 HBuilderX
### 操作步骤:
- 任意组件prop传递对象或数组,且其中包含函数数据

### 预期结果:
- 组件中接收prop数据的时候可以拿到函数数据

### 实际结果:
- 组件中接收prop数据的时候无法拿到函数数据

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

![](https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20211207/3a9f70d5c4f15fca588d842a4883a983.png)

更多关于uni-app 微信小程序端依赖 mp.runtime.esm.js 中 cloneWithData 方法优化建议的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

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

更多关于uni-app 微信小程序端依赖 mp.runtime.esm.js 中 cloneWithData 方法优化建议的实战教程也可以访问 https://www.itying.com/category-93-b0.html


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

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

回到顶部