歷經兩周,小程序開發告一段落。總結下,開發的心得:
一、布局與樣式方面
1、標簽的使用
小程序中,wxml文本中可用的標簽是有限的。常用的:<view> <text><icon><image><button><canvas>等
其中最需要注意的是canvas 這種原生組件,是最高級的。設置z-index、fixed 是沒有效果了。官方提供了<cover-view> <cover-image> 解決這一問題。
可覆蓋的原生組件包括map
、video
、canvas
、camera
、live-player
、live-pusher
,只支持嵌套cover-view
、cover-image
,可在cover-view
中使用button
。
2、布局
css中可以使用flex布局,但是position:absolute; 雖然有效果,但是ios 10 系統不兼容,對於css3 的部分屬性,ios 10 系統同樣不兼容。
background-image 屬性,必須使用在線圖片文件或者將圖片裝換為base64 文件。
3、canvas 作為自定組件,傳入數據繪制時,必須綁定this。
二、echarts 插件
小程序開發主要用的echarts-for-weixin這個圖標插件,相對於別的wx-charts 自定義屬性更多,文檔可以查看官方的echarts文檔。
echarts中,設置顏色部分,必須要用六位,比如#ffffff,其余一些默認屬性也需要明確寫清楚,否則ios10系統會不兼容。比如radar 的splitArea 屬性。
三、小程序的生命周期
小程序中app.js、page 、components 中的生命周期都是不相同的。
四、小程序中的API
在原來的js中,scrolltop 是靠js方法實現的,現在小程序中提供了一個wx.pageScrollTo(Object object) 很是管用。
特別是在彈出框的時候比較實用。
五、小程序的路由
1、wx.navigateBack({
delta: 2 })
返回兩層頁面
2、
wx.navigateBack(Object object)
關閉當前頁面,返回上一頁面或多級頁面。
3、wx.redirectTo(Object object)
關閉當前頁面,跳轉到應用內的某個頁面。
六、父組件與子組件之間的傳值與監聽問題。
1、 小程序性中的父組件與子組件之間的傳值與vue組件間之間的傳值非常的相似。
其中需要注意的是:
如果父組件的值發生變化,子組件通過observer去監測。
2、 父組件監測子組件的數據變化:
子組件:
父組件: