1. 開發(fā)小程序時,每個頁面一定要在App.json文件中注冊,頁面文件夾和其包含的四個文件的名字要保持一致。
2. 小程序發(fā)起的都是HTTPS網(wǎng)絡(luò)請求,在開發(fā)調(diào)試的過程中可以不校驗協(xié)議和TLS版本,但在實際上線后必須進行HTTPS協(xié)議通信。
3. 小程序可以進行組件化開發(fā)以及數(shù)據(jù)綁定,所有對于DOM的操作都是基于數(shù)據(jù)驅(qū)動的,并沒有直接進行DOM操作的做法,換言之,小程序內(nèi)沒有document對象,原生js和jQuery里的DOM操作思維要舍棄掉。
4. 小程序的網(wǎng)絡(luò)請求wx.request()是不自帶Cookies的,這和瀏覽器上的網(wǎng)絡(luò)請求不同,因此基于Cookies實現(xiàn)的會話管理不適用于小程序。
5. 小程序的腳本文件中,內(nèi)置對象是page,而非傳統(tǒng)瀏覽器里的window,因此所有基于window對象來寫的庫(例如jQuery)都不適用于小程序。
6. 小程序提供模板功能,模板擁有自己的作用域,它只能使用從data屬性傳入的數(shù)據(jù)。
7. 每一個頁面文件夾下的.json文件是用來寫配置項的,如果該頁面無需添加相關(guān)配置,.json文件也要寫上一對大括號(“{ }”),否則會報錯。
8. 在同一個tab里的頁面可以跳轉(zhuǎn),并且允許攜帶參數(shù)。不同tab的頁面之間無法跳轉(zhuǎn),使用wx.navigateTo()接口會報錯。同時,tab之間的跳轉(zhuǎn)可以用wx.switchTab()實現(xiàn),但是路徑后不能帶參數(shù)。
9. 腳本文件里data的數(shù)據(jù),在更新的時候要通過this.setData()方法來更新,而不能直接用“=”來做。
10. 在組件標(biāo)簽里,可以通過“data-屬性值”的方式綁定我們需要的數(shù)據(jù),然后在事件內(nèi)置event對象里進行獲取。
11. 小程序里也存在事件的冒泡,具體的冒泡事件可以參考官方文檔,如果希望事件向上冒泡,則使用bind來綁定事件,若希望阻止事件冒泡,就使用catch來進行事件綁定。
12. 小程序支持文件引用,有import和include兩種方式,import有作用域,也就是引入的目標(biāo)文件里import的模板不會被引入;而include等于是將目標(biāo)文件除<template />以外的整個代碼進行引入。
13. wx.login()和wx.getUserInfo()是兩個獨立的接口,前者可以實現(xiàn)用戶登錄,這個過程是悄無聲息的,不需要用戶授權(quán),登錄后可以拿到用戶的openid和session_key;而wx.getUserInfo()可以拿到用戶的具體信息,這個過程需要獲得用戶的授權(quán),開發(fā)時也必須考慮用戶拒絕授權(quán)的場景。
14. 目前小程序可以分享給微信好友和微信群,但小程序默認是沒有這個功能的,只有在Page里定義了onShareAppMessage事件處理函數(shù),點擊小程序右上角才可以看到分享按鈕。
15. 微信小程序還在不斷的成長中,定期會有相關(guān)的API修改和增加、以及廢棄,開發(fā)者需要及時關(guān)注每一次重大的版本更新,同時對于一些新出的API要進行兼容處理,考慮兼容的場景,因為某些API只在高版本的微信app里有效。