微信小程序自定义组件使用canvas绘图,无法绘制以及fail canvas is empty问题


情况2:自定义组件引用canvas绘制,空白;
原因:查看文档,在自定义组件内需要手动传入当前实例的this,否则canvas指向的this为父组件所以无法找到正确canvas;<br /



情况3:自定义组件内,canvas绘制好了,但是`canvasToTempFilePath`报fail canvas is empty错误;
原因:同上,但是canvasToTempFilePath({}, this)添加this可能无法解决,因为我使用的小程序框架是Taro,在 Taro 的页面和组件类中,this 指向的是 Taro页面或组件实例。
所以一般我们需要获取 Taro的页面和组件所对应的小程序原生页面和组件实例,这个时候我们可以通过 this.$scope 访问到它们;
所以最后写成:
Taro.createCanvasContext("canvas-id", this.$scope);
Taro.canvasToTempFilePath({}, this.$scope);
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值