ZFZF
ZFZF
  • 发布:2022-02-11 09:25
  • 更新:2024-12-19 10:59
  • 阅读:1081

【报Bug】renderjs中数据多次频繁变化,不会每次都触发:change中绑定的方法

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.3.10

手机系统: 全部

手机厂商: 华为

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

测试过的手机:

iphone6 华为

操作步骤:

:WBData="WBData" :change:WBData="fabric.handleWBData"
实现和远端画板同步,我接收远端的WBData数据改变的时候,触发renderjs中的handleWBData方法绘制笔迹,发现不是每次WBData改变都会触发一次handleWBData方法,导致绘制的笔迹丢失了很多

预期结果:

预期每次WBData改变都会触发一次handleWBData方法

实际结果:

不是每次WBData改变都会触发handleWBData方法

bug描述:

:WBData="WBData" :change:WBData="fabric.handleWBData"
实现和远端画板同步,我接收远端的WBData数据改变的时候,触发renderjs中的handleWBData方法绘制笔迹,发现不是每次WBData改变都会触发一次handleWBData方法,导致绘制的笔迹丢失了很多

2022-02-11 09:25 负责人:无 分享
已邀请:
FullStack

FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866

提供可以复现的demo,方便排查

  • ZFZF (作者)

    大佬看下我下面的回复,我测试发现绑定越多的变量监听:change, 传递的数据的复杂度越复杂(一个number比一个对象丢失的数据要少),和更改变量的频率越高, 好像renderjs中方法调用次数丢失的更多

    2022-02-24 16:31

  • 2***@qq.com

    回复 ZFZF: 你好 解决了吗,

    2022-10-20 11:14

ZFZF

ZFZF (作者) - zf

我上传了一个test.txt文件可以更改为test.vue,然后放到uniapp的项目中,路由进入这个页面,控制台会打印出来更改WBData变量的次数,和renderjs中handleWBData方法的调用次数

  • 9***@qq.com

    前辈如何解决的?我也遇到同样的问题,官方文档没有找到解决方案

    2022-06-15 14:26

  • 2***@qq.com

    回复 9***@qq.com: 您好 有解决吗

    2022-10-20 14:06

kmq116

kmq116 - I am a front-end developer

我用 renderjs + zrender 绘制自定义 canvas 的时候也会有这种问题,有的时候自定义的图片绘制不出来,数据并没有频繁更改

5***@qq.com

5***@qq.com

感觉确实有,我在数据层mounted同时发了三个异步请求,但是只是随机响应2个。。

8***@qq.com

8***@qq.com

请问这个问题有解决吗,我现在也遇到了同样的问题

kmq116

kmq116 - I am a front-end developer

解决办法是有的,不过很蠢,每次检测到响应,通过 callMethod 去通知视图层,定时去检测哪些数据没执行,再重新赋值一次触发数据 update

j***@163.com

j***@163.com

我也遇到这个问题。请问有解决的办法吗?

夏夜追凉丶

夏夜追凉丶

同样的问题,目前只能通过用settimeout去短暂延时解决,感觉很扯

要回复问题请先登录注册