将mpvue小程序代码迁移到uni-app后,编译为自定义组件模式(试过将manifest.json中mp-weixin.usingComponents
选项置为false
仍编译为自定义组件,但这是另一个问题了)。
在组件内调用uni.canvasToTempFilePath
一直报fail canvas is empty。在调用uni.createCanvasContext
和uni.canvasToTempFilePath
时均传入了this
,尝试过直接传mpvue组件实例this
和里面的this.$scope
,结果均相同。将代码拉至最外层页面,去掉this
,uni.canvasToTempFilePath
可以进入success
回调。
想咨询下mpvue组件内如何绘制canvas呢?
版本信息:
"@dcloudio/uni-mp-weixin": "^2.0.0-24220191115006",
编译方式:
未使用HBuilderX,命令行运行npm run dev:mp-weixin
。
1 个回复
3***@qq.com
简直是血泪史啊,网上找一天都没找到!!!
脑筋济转弯+不断尝试得出:vue自定义组件需要绑定this.$mp.component,应该是vue组件和微信小程序组件有差异,上下文也不一致的关系;其次canvas-id只能是'canvas+number'的形式而且num值还不能过大