踩坑记-微信小程序

平时开发中遇到的一些问题,简单整理一下,方便后续开发借鉴。

  • A:问题描述?
    Q:解决方案。

  • A:小程序中,obj.person.name='xxx'方式达不到更新对象的二级属性的值的目的?
    Q:方案1:用扩展运算符(...)。
    方案2:this.setData()方法。

  • A:小程序本地调试可以使用http类接口联调,去掉设置里的http勾选就行。但是发布体验版和正式版就必须是https类接口了。
    Q:官方要求,http会被认为不安全被拦截。

  • A:echarts图表引入后,本地开发:开发工具预览正常,真机调试报错:runtime.js?devtools_ignore=true:1 eval script evaluate_id #678 failed TypeError: r.Canvas is not a constructor
    Q:解决方案:给组件传入force-use-old-canvas="true",同事dpr参数改成1,不然显示比例不正常。当然发正式版,就得去掉该代码了。
    原因:echarts默认使用canvas-2d,这个整体性能要强于canvas,微信小程序官方也支持canvas-2d,对之前接口不在维护。

  • A:require,inport引入公共组件或js时,需要用相对路径,没法用根路径开始的绝对路径?
    Q:只有pages文件夹下的资源,可以根路径形式,因为小程序的根路径就是pages。

  • A:样式里不支持本地图片文件路径,比如background:url(xxx)?
    Q:解决方式1:将图片转成base64,比如这样background: url(base64code)
    解决方式2:将本地路径,换成可访问的完整路径,比如http://xxx/xxx/xxx.png
    解决方式3:将样式图片用html标签替换,image标签的src支持本地图片路径。
    解决方式4:将样式写成行内样式,就是写在标签上div style="bakcground-image:url(xxx.png);"形式引入。

参考

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容