情况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);
本文详细解析了在Taro框架中遇到的Canvas绘制问题,包括自定义组件引用Canvas绘制空白及`canvasToTempFilePath`报错的原因。阐述了在Taro环境下正确使用Canvas的方法,涉及this指向问题及解决方案。

被折叠的 条评论
为什么被折叠?



