最新版HBuilderX编辑器1.9.2.20190417,最新版小程序开发工具,新版编译器自定义组件模式开启;
小程序首页中使用swiper/scroll-view组件(并绑定了事件@change,@scroll)导致类似定时器似的报错reporter error:JSON.stringify cannot serialize cyclic structures;
去掉首页中所有的console.log打印语句,肯定没有使用JSON.stringify这个函数;
现在是每隔一秒就会在手机端小程序首页中报错,ios和android都会有, 小程序开发工具IDE正常不会报错, 只会出现在真机手机端;
根据观察应该是首页使用了swiper/scroll-view组件导致的,并且绑定了@change或@scroll事件, 测试swiper组件不绑定@change事件不会报错;
可能是官方的一个bug,亲测官方demo uni-hello swiper组件加上@change="swiperChange" 就会报错reporter error:JSON.stringify cannot serialize cyclic structures
最后说一句原来旧的框架template模板模式不会出现此问题。
4 个回复
sonicsunsky (作者)
希望官方尽快修复这个问题,感觉挺严重的bug
DCloud_UNI_CHB
swiperChange 方法别在 标签上写,放到 script节点下
如下:
sonicsunsky (作者)
你用官方demo自己测下就知道了,一定要在真机手机上测试, 然后用vconsole查看,给swiper或者scroll-view添加@change或者@scroll事件你就知道了
2019-04-22 09:44
sonicsunsky (作者)
回复 sonicsunsky: 对,是这么写的,没在标签里面写函数表达式,可能我描述的时候给写到一块去了
2019-04-22 09:47
DCloud_UNI_CHB
回复 sonicsunsky: Android真机验证过,没重现问题
2019-04-22 09:49
DCloud_UNI_CHB
回复 DCloud_UNI_CHB: HBuilderX控制台同样会输出日志,你可以看一下是否有错误
2019-04-22 09:51
sonicsunsky (作者)
回复 DCloud_UNI_CHB: 用ios12试试,我这边一直用ios测试的,能不能多用几个机型测试呀,然后一定要绑定事件@change/@scroll, 我这边是真的报错,然后uni-hello我也测试过一样的报错
2019-04-22 09:54
sonicsunsky (作者)
回复 DCloud_UNI_CHB: HBuilderX控制台没看到有报错,然后小程序开发工具IDE里也没有报错,就是在真机上vConsole里报错,我这边测试的是最新版ios12
2019-04-22 09:56
sonicsunsky (作者)
回复 DCloud_UNI_CHB: 我同事Android上打开调试vConsole里也会有这种报错
2019-04-22 09:57
DCloud_UNI_CHB
回复 sonicsunsky: 那你先看HBuilderX控制台输出的日志吧,不影响开发,我们再分析一下vconsole的问题
2019-04-22 09:58
sonicsunsky (作者)
回复 DCloud_UNI_CHB: 行,我这边HBuilderX控制台输出好像没看到报错,有错误的话我记着控制台是会自己打开来着然后显示错误
2019-04-22 10:02
sonicsunsky (作者)
回复 DCloud_UNI_CHB: 应该还有其他开发者也提这个问题了,然后之前的template编译模式下是不会有这个问题的
2019-04-22 10:04
DCloud_UNI_FXY
该问题不会影响业务功能,预计下个版本修复
sonicsunsky (作者)
好的,已经看到了,给力
2019-04-23 13:51
Trust - 少说废话
HBuilderX 1.9.3 及 CLI 均已更新
sonicsunsky (作者)
好的,已经看到了,给力
2019-04-23 13:51
1***@qq.com
回复 sonicsunsky: 我也是这个问题,请问怎么解决
2019-04-24 17:42
sonicsunsky (作者)
回复 1***@qq.com: 升级最新版HBuilderX
2019-04-25 11:05