- 发布:2022-02-11 09:25
- 更新:2024-06-11 16:14
- 阅读:1036
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Window10
HBuilderX类型: 正式
HBuilderX版本号: 3.3.10
手机系统: 全部
手机厂商: 华为
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
测试过的手机:
操作步骤:
:WBData="WBData" :change:WBData="fabric.handleWBData"
实现和远端画板同步,我接收远端的WBData数据改变的时候,触发renderjs中的handleWBData方法绘制笔迹,发现不是每次WBData改变都会触发一次handleWBData方法,导致绘制的笔迹丢失了很多
:WBData="WBData" :change:WBData="fabric.handleWBData"
实现和远端画板同步,我接收远端的WBData数据改变的时候,触发renderjs中的handleWBData方法绘制笔迹,发现不是每次WBData改变都会触发一次handleWBData方法,导致绘制的笔迹丢失了很多
预期结果:
预期每次WBData改变都会触发一次handleWBData方法
预期每次WBData改变都会触发一次handleWBData方法
实际结果:
不是每次WBData改变都会触发handleWBData方法
不是每次WBData改变都会触发handleWBData方法
bug描述:
:WBData="WBData" :change:WBData="fabric.handleWBData"
实现和远端画板同步,我接收远端的WBData数据改变的时候,触发renderjs中的handleWBData方法绘制笔迹,发现不是每次WBData改变都会触发一次handleWBData方法,导致绘制的笔迹丢失了很多
FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866
提供可以复现的demo,方便排查
ZFZF (作者) - zf
我上传了一个test.txt文件可以更改为test.vue,然后放到uniapp的项目中,路由进入这个页面,控制台会打印出来更改WBData变量的次数,和renderjs中handleWBData方法的调用次数
kmq116 - I am a front-end developer
我用 renderjs + zrender 绘制自定义 canvas 的时候也会有这种问题,有的时候自定义的图片绘制不出来,数据并没有频繁更改
kmq116 - I am a front-end developer
解决办法是有的,不过很蠢,每次检测到响应,通过 callMethod 去通知视图层,定时去检测哪些数据没执行,再重新赋值一次触发数据 update
ZFZF (作者)
大佬看下我下面的回复,我测试发现绑定越多的变量监听:change, 传递的数据的复杂度越复杂(一个number比一个对象丢失的数据要少),和更改变量的频率越高, 好像renderjs中方法调用次数丢失的更多
2022-02-24 16:31
2***@qq.com
回复 ZFZF: 你好 解决了吗,
2022-10-20 11:14