前言
微信“小程序”正式上線一周時間,相關話題持續升溫。支付寶開發“小程序”的消息也隨即曝出,互聯網巨頭們摩拳擦掌,不少網友調侃說,這勢頭感覺要挑戰現有的“APP帝國”了。那么,面對如此炙手可熱的小程序,WeX5移動開發云也沒有閑著,經過全網搜索,為大家篩選出一條小程序開發者的必讀文章,內容涵蓋小程序開發實戰需要注意的40個技術點,供大家參考!
Q:為什么腳本內不能使用window等對象
A:頁面的腳本邏輯是在JsCore中運行,JsCore是一個沒有窗口對象的環境,所以不能在腳本中使用window,也無法在腳本中操作組件
Q:為什么 zepto/jquery 無法使用
A:zepto/jquery 會使用到window對象和document對象,所以無法使用。
Q:wx.navigateTo無法打開頁面
A:一個應用同時只能打開5個頁面,當已經打開了5個頁面之后,wx.navigateTo不能正常打開新頁面。請避免多層級的交互方式,或者使用wx.redirectTo
Q:樣式表不支持級聯選擇器
A:WXSS支持以.開始的類選擇器。
Q:本地資源無法通過 css 獲取
A:background-image:可以使用網絡圖片,或者 base64,或者使用<image/>標簽
Q:如何修改窗口的背景色
A:使用 page 標簽選擇器,可以修改頂層節點的樣式
page { display: block; min-height: 100%; background-color: red;}Q:為什么上傳不成功
A:為了提升體驗流暢度,編譯后的代碼包大小需小于 1MB ,大于 1MB 的代碼包將上傳失敗。
Q:HTTPS 請求不成功
A:tls 僅支持 1.2 及以上版本
Q:網絡請求的 referer
A:網絡請求的 referer 是不可以設置的,格式固定為 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 為小程序的 appid, {version} 為小程序的版本號,版本號為 0 表示為開發版。
Q:不能直接操作 Page.data
A:避免在直接對 Page.data 進行賦值修改,請使用 Page.setData 進行操作才能將數據同步到頁面中進行渲染怎么獲取用戶輸入
能夠獲取用戶輸入的組件,需要使用組件的屬性bindchange將用戶的輸入內容同步到 AppService。
<input id="myInput" bindchange="bindChange" /><checkbox id="myCheckbox" bindchange="bindChange" />var inputContent = {} Page({ data: { inputContent: {} }, bindChange: function(e) { inputContent[e.currentTarget.id] = e.detail.value }})Q:微信小程序支持fetch或者promise嗎?
A:promise工具目前不支持,fetch 客戶端不支持 工具下個版本保持統一。
新聞熱點
疑難解答