平时开发中遇到的一些问题,简单整理一下,方便后续开发借鉴。
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);"
形式引入。