blog icon indicating copy to clipboard operation
blog copied to clipboard

微信小程序的一些坑

Open zhouwenbin opened this issue 9 years ago • 11 comments
trafficstars

1、750rpx并不是全屏,模拟的效果和真机上的差别很大。 2、模拟器支持div、span等元素,真机上不支持。 3、模拟器对css的支持比较完整,真机只支持部分,但是文档没有列出来。 4、不支持file上传图片,只能通过wx.chooseImage,且无法获取图片宽高。 5、canvas只支持context,无法导出base64.

zhouwenbin avatar Oct 17 '16 01:10 zhouwenbin

补充几个: 1.setData的时候,如果原始的值,有二级数据的话,直接改变二级数据,是不生效的。 比如:

obj:{
innerObj:{}
}
}

这种数据结构,如果只改变innerObj 是不生效的。 2. 无法delete 数据,这样也是不生效的

delete this.data.obj.innerObj
var obj = this.data.obj;
setData({obj:obj})

3.wx.setNavigationBarTitle必须在onReady中设置 4.1024KB,多一KB都不行 想起来,再补充

jianjiade avatar Oct 17 '16 02:10 jianjiade

0.10.102800版更新

1、可以通过getImageInfo获取图片宽高了,但是却不能跳转页面了。 2、onload事件里面setData没效果了,换成this.data.tempFilePaths = app.globalData.tempFilePaths。 3、上传图片后图片地址不能显示,需要this.globalData.tempFilePaths = res.tempFilePaths[0].split('wxfile://')[1];截掉wxfile://才能显示。 4、canvas导出图片canvasToTempFilePath,没法获取图片,坑坑坑。

zhouwenbin avatar Oct 28 '16 10:10 zhouwenbin

1、本地图片无法在css的background显示,只能设在<image>的src 2、canvasToTempFilePath报错canvasToTempFilePath: fail canvas is empty

zhouwenbin avatar Jan 04 '17 10:01 zhouwenbin

@zhouwenbin 你好 麻烦问你一下 canvasToTempFilePath: fail canvas is empty 这个问题后来有解决嘛?

cristaltina avatar Mar 20 '17 03:03 cristaltina

@cristaltina 不知道官方解决了没有

zhouwenbin avatar Mar 20 '17 08:03 zhouwenbin

@zhouwenbin 额 这个问题我这里好了 之前我一onLoad就调用canvasToTempFilePath,导致这个问题,后来我改当bindtouchend时调用,就ok了,个人猜测是由于没画完就截屏导致的,不造能不能解决你的问题

cristaltina avatar Mar 20 '17 09:03 cristaltina

@cristaltina 我试看看,感谢

zhouwenbin avatar Mar 20 '17 10:03 zhouwenbin

setTextAlign 设置文字对齐方式无效啊,有没有人遇到呢

sgyy1994 avatar Jun 29 '17 08:06 sgyy1994

setTextAlign 设置文字对齐方式居中效果无效

coding-girl93 avatar Jul 11 '17 11:07 coding-girl93

canvasToTempFilePath: fail canvas is empty,不清楚什么时候会报这个错,有时候有,有时候没有,和加载是否完成也没关系,因为我不写任何内容,只是用它来显示一张图片,有时也会报这个错。

Mazhp avatar Mar 02 '18 06:03 Mazhp

我今天也遇到了 canvasToTempFilePath: fail canvas is empty 的问题,由于我们的 canvas绘制在自定义组件里,可能需要显式指定上下文。查看官方 API 文档 wx.canvasToTempFilePath(OBJECT, this),后来通过传入第二个参数即指定了当前自定义组件的上下文实例,解决了这个问题。

recluse90s avatar Apr 10 '18 07:04 recluse90s