subPackages 分包加載
因為小程式主包大小不超過2M 限制,所以使用分包是個不錯的選擇,總分包大小不超過8M,可以添加多個分包,分包加載可以優化小程式首次啟動的下載時間,當進入分包頁面再進行下載,這種按需加載可以把某些資料量大的抽離出來放入分包(如圖表)
rpx 單位、
在做行動端最常用適配的方法就是使用rem 或vw 作為單位來進行適配,所以微信小程式提供了rpx單位來進行適合
授權彈跳視窗
wx.getUserInfo 介面調整,先前可以直接主動呼叫顯示授權彈窗 ,現在需要使用點擊來引導使用者去授權,小程式wx.getUserInfo 介面正式版已調整,體驗版和開發版還可以使用原有方式。
原生元件z-index
原生元件的層級是最高的,所以頁面中的其他元件無論設定z-index 為多少,都無法蓋在原生元件上,可以透過cover-view 來解決,但某些特定環境如swiper 或彈窗中需要顯隱原生元件,需要配合hidden 來使用
偽元素
小程式的偽元素屬性無法在微信開發者工具css 屬性中看到,所以對於某些元件樣式無法覆寫時(如button 的邊框或某些線條設定),是因為透過偽元素::after 設定的,所以必須使用偽元素來覆蓋
頁面棧
一個應用程式同時只能打開5個頁面棧,當已經打開了5個頁面之後(現在限制是10層),後續可能出現無法正常開啟新頁面。 wx.navigateTo 跳轉會保留目前頁面,wx.redirectTo 則不會,所以請避免多層級的互動方式來合理使用跳轉方式
元件化
emplate 模組與component 元件,是小程式中元件化的方式,二者的差別是,template 模組主要是展示,方法需要在使用template 的頁面中定義。而 component 元件,則擁有自己的js 文件,整個 component 元件類似一個 page 頁面。簡單來說,只是展示用,建議使用template,元件中涉及較多的邏輯,建議使用component
#調式
##一、開發者工具source 斷點調式、console.log 列印資料與AppData 檢視資料 二、小程式註意目前調式基礎庫版來調式一些相容性以及bug 問題 三、小程式先在開發版或體驗版右上角開啟調試顯示vConsole,再切到正式版就能看到vConsole 模式#資料傳遞
一、使用資料緩存,wx.setStorage和wx.getStorage,儲存資料只能是字串格式,所以一般設定時需要使用JSON.stringfy 來把物件轉字串,取得時使用JSON.parse 來還原成物件導覽列膠囊對齊適配
導覽列一般使用自訂,比較靈活可控,首先需要app.json 中設定navigationStyle :custom 自訂,然後透過小程式wx.getMenuButtonBoundingClientRect() 可以取得到右上角膠囊選單位置訊息,不過這個介面不穩定,部分機型會出現取得失敗的bug,所以使用wx.getSystemInfo 來取得該裝置的狀態列高度(即手機時間和電量那一欄高度),標題欄高度(即包括導航返回鍵、標題和膠囊的高度)預設為安卓為48,ios 為44(小程式預設膠囊在安卓中為48px 的標題列居中,因為安卓類別比較多,所以會有點差別,ios 為44px 的標題列居中),導覽列總高度為狀態列高度標題列高度,padding-top 高度為狀態列高度,標題列中元素垂直對齊來達到適配並與膠囊對齊,設定內容高度時可以利用calc(100vh - 導航欄總高度),把樣式放在全域app.wxss 中unionid 標識
unionid 是小程式用戶的跨程式標識,擁有unionid 首先需要綁定微信開放平台(微信開放平台-管理平台-小程式-綁定小程式),因為unionid 就是微信開放平台分發下來的,不將小程式綁定微信開放平台,就沒有unionid,當不同小程式的unionid 是不同的,需要把小程式掛載到同一個主體中,同一用戶,對同一個微信開放平台下的不同應用,unionid是相同的
後台返回unionid 給前端:首先wx.login 獲取用戶登錄憑證code,然後wx.getSetting 查看是否已授權,wx.getUserInfo 獲取用戶信息,通過用戶信息的加密字段給後台向微信伺服器換取unionid 返回,由於獲取請求返回資料可能會在Page.onLoad 之後才返回, 所以一般加上callback (獲取unionid 一般放在app.js 的onLaunch 中,所以需要callback 來處理它和頁面onLoad 的數據取得)
介面請求
建議把所有請求抽離到同一個api.js 中,可以方便後期的修改和排查問題,小程式請求是透過微信後台來請求我們的後台位址來進行後端映射、你請求的介面實際到微信的後端做了一道映射,微信後端拿到你的wx.request 呼叫的url、用後端請求後端,所以不會有跨域問題
input 鍵盤
考慮不同場景使用不同的type,如文字鍵盤,數字鍵盤來提升使用者體驗
wux-weapp
小程式元件比較推薦wux-weapp,元件豐富且拓展靈活
推薦教學:《微信小程式》
以上是微信小程式知識點總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!