小程序开发遇到的bug(持续更新)

一、Cannot read property ‘toString’ of undefined
原因:字符串操作问题
问题定位:
问题是出现在画布写文字时

shareContent.fillText(shareContent[0], viewpointCenter, viewpointY);
//shareContent是画布的上下文fillText第一个参数应该是一个字符串的,但是我当时写成了shareContent[0]
//shareContent[0]不是字符串,具体是啥有机会再说,应该改为
shareContent.fillText(showViewpoint[0], viewpointCenter, viewpointY);

二、关于canvas转图片时,图片模糊的问题
在把canvas导出为图片时,总是会出现画面模糊的问题,也在网上找了很久,主要简单的方法就是把
导出图片的width和height都设为画布的2-4倍。其实没啥用。
个人看法,图片模糊是和画布的大小有关,只要按照原比例导出就行了
所以从设计画布开始最好就用px做单位,并且直接根据图片大小来设计画布布局。

三、‘data’或者’setData’没有被定义
Cannot read property ‘data’ of undefined不能读取没有被定义的属性’data’
Cannot read property ‘setData’ of undefined

出现’data’或者’setData’属性没有定义时,一般都是没有用var that = this,然后在回调函数里面使用this.setData
或者this.data.[property]获取页面的初始数据

四、文本的换行失效
很多时候对于现实的文本,我们需要让其换行,然后我们在需要换行的地方加上了\n;
但是经常会失效,这是因为\n换行只在 text 控件中生效,用view是不会生效的,还有空格的设置也是只对text生效

五、data-后的变量名不区分大小写

      <view bindtap='ontap' data-album_id='{{item.albumId}}'>
      </view>

此处的album_id不能写成albumId,如果你写成albumId,在ontap方法中获取albumId却是没有值,
它会把albumId转换为albumid的,这样就导致了数据的不一致,容易发生错误,这是因为data-后面的变量
命名是不区分大小写的,而在ontap中获取变量的值却又区分大小写,所以为了保持一致性,我们把data-后面
的变量命名一律都用小写,单词直接用_连接。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值