平時開發(fā)中遇到的一些問題津畸,簡單整理一下振定,方便后續(xù)開發(fā)借鑒。
A:問題描述肉拓?
Q:解決方案后频。A:小程序中,
obj.person.name='xxx'
方式達不到更新對象的二級屬性的值的目的暖途?
Q:方案1:用擴展運算符(...)卑惜。
方案2:this.setData()方法。A:小程序本地調(diào)試可以使用http類接口聯(lián)調(diào)丧肴,去掉設(shè)置里的http勾選就行残揉。但是發(fā)布體驗版和正式版就必須是https類接口了。
Q:官方要求芋浮,http會被認為不安全被攔截抱环。A:echarts圖表引入后,本地開發(fā):開發(fā)工具預(yù)覽正常纸巷,真機調(diào)試報錯:
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參數(shù)改成1,不然顯示比例不正常瘤旨。當然發(fā)正式版梯啤,就得去掉該代碼了。
原因:echarts默認使用canvas-2d存哲,這個整體性能要強于canvas因宇,微信小程序官方也支持canvas-2d七婴,對之前接口不在維護。A:require察滑,inport引入公共組件或js時打厘,需要用相對路徑,沒法用根路徑開始的絕對路徑贺辰?
Q:只有pages文件夾下的資源户盯,可以根路徑形式,因為小程序的根路徑就是pages饲化。A:樣式里不支持本地圖片文件路徑莽鸭,比如
background:url(xxx)
?
Q:解決方式1:將圖片轉(zhuǎn)成base64,比如這樣background: url(base64code)
吃靠。
解決方式2:將本地路徑硫眨,換成可訪問的完整路徑,比如http://xxx/xxx/xxx.png撩笆。
解決方式3:將樣式圖片用html標簽替換捺球,image標簽的src支持本地圖片路徑。
解決方式4:將樣式寫成行內(nèi)樣式夕冲,就是寫在標簽上div style="bakcground-image:url(xxx.png);"
形式引入氮兵。