uni-app手机端使用ucharts绘制图标的时候,控制台报错。Property or method "toJSON" is not defined on the instance but referenced during render
冉小冉
- 发布:2019-06-26 19:13
- 更新:2023-10-11 15:34
- 阅读:22654
我终于找到一个满意的方案 哈哈哈
我也是看上面的朋友的方法在methods里面加一个 toJSON(){},我加上之后不报错了但是有副作用,把vue 中data的数据搞丢了.根据我测试确定是这个toJSON方法搞得鬼, 我没去看源码,但是我揣测可能的执行过程, 最终在toJSON 里面return this. 亲测有效,暂时没有发现其他副作用
这是微信开发者工具的bug,请回退微信开发者工具到2020年6月那个版本或之前版本(截止2020.11.10未修复),见文档:http://doc.ucharts.cn/1074674。我的也又再现此问题,不理他了。
另外确实在vue的export default里的methods里增加toJSON(){},就解决问题。
出现这个错误,应该是this指向的问题,总结一下几个处理方法
- 下载旧版微信开发工具,1.03.2006090
- 定义toJSON(){}方法
- ucharts对象定义到data外边
- 修改ucharts代码,在外面调用createCanvasContext,传给ucharts,而不传this
2***@qq.com
你这个方法倒是不报错了,但是我的会让页面的v-if里面的一个xxx==0的判断失效,具体原因不是很懂。
2020-11-20 15:19