小程序
小游戏
企业微信
微信支付
扫描小程序码分享
draw:function(n){
var that=this;
let canvas = this.data.canvas;
let ctx = this.data.ctx;
let img=canvas.createImage();
img.src='temp[n]'
编译后提示canvas.createImage is not a function;
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
谢邀:
let canvas = this.data.canvas; 请先确定你的this.data.canvas是已经获取到的wxml里面有的canvas组件
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
今天也碰到这个错误了。
一个大坑就是 canvas 尽量不要放在 wx:if里,可能一开始 if 条件是 false,哪怕后面重新set为true,
也会因为错误已经发生而不可再次 select
我用的就是2d
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
谢邀:
let canvas = this.data.canvas; 请先确定你的this.data.canvas是已经获取到的wxml里面有的canvas组件
var n=0;
const query = wx.createSelectorQuery()
query.select('#myCanvas')
.fields({ node: true, size: true })
.exec((res) => {
const canvas = res[0].node
const ctx= canvas.getContext('2d')
that.setData({
canvas:canvas,
ctx:ctx
})
就是还没有setData完成,就开始draw了,这个时候this.data.canvas是没有值的,你可以在setData成功后才调用draw
另外,createSelectorQuery这段代码需要放在页面渲染完成后执行。否则会获取不到canvas
今天也碰到这个错误了。
一个大坑就是 canvas 尽量不要放在 wx:if里,可能一开始 if 条件是 false,哪怕后面重新set为true,
也会因为错误已经发生而不可再次 select
我用的就是2d