1. 每添加一個頁面須要在app.json中註冊,第一個頁面爲首頁。css
2. 例如註冊一個welcome頁面html
// 注意: 路徑最前面不須要加 ‘/’ , 不須要加文件名
{ "pages": [ "pages/welcome/welcome" ] }
3. 每增長新頁面後,js文件不能爲空,須要調用 Page ({}) 初始化, 一樣,頁面的json文件也不能爲空,應寫爲 {}json
// 頁面對應的js文件 Page({ })
// 頁面對應的json文件, 不能爲空,最簡單也要寫成下面的格式 { }
4. 經過在啊app.json裏面註冊頁面,IDE會自動爲開發者建立 .wxml, .js, .wxss, .json 的四個對應的文件小程序
5. 每一個頁面都有一個名字爲page的根結點緩存
6. 小程序中支持一下幾種css選擇器app
.class(.box) #id(#box) element(view) element,Element (view, checkbox) ::after(view::after) ::before (view::before)xss
7. 小程序中新定義了 rpx的適配單位:在寬度爲750px的設計稿中, 1物理像素 = 1rpx = 0.5px ide
8. Boolean的陷阱:在swiper組件中,用vertical屬性來設置是否垂直排列,若要設置爲水平排列,只有一下三種方法:函數
// 1. 不加如vertical屬性 // 2. vertical = ‘’ // 3. vertical = ‘{{false}}’
9. 小程序爲image組件增長了 mode 屬性用以控制圖片的裁剪,經常使用的是widthFix(寬度充滿,高度自適應)spa
10. page頁面的聲明週期
Page({ data: {}, onLoad: function (options) {}, // 頁面初始化 options 爲頁面跳轉所帶來的參數, 一個頁面只會調用一次 onShow: function () {}, // 頁面顯示,每次打開頁面都會調用 onReady: function () {}, // 頁面初次渲染完成,一個頁面只會調用一次,表明頁面已經準備好,可進行視覺交互 onHide: function () {}, // 頁面隱藏 onUnload: function () {} // 頁面關閉 }) // 注意: // 1. 一個頁面的加載順序(onLoad > onShow > onReady) // 2. onLoad和onReady在整個頁面的聲明週期內只會執行一次,除非這個頁面執行了onUnload卸載掉了,卸載意味着這個頁面的一個聲明週期結束了 // 3. onReady 僅僅用來監聽頁面的第一次渲染
11. 小程序中提供的其餘特定事件的監聽程序:
// onPullDownRefresh : 監聽用戶下拉動做的事件處理函數 // onReachBottom: 頁面上拉觸底事件的處理函數 // onShareAppMessage : 用戶點擊右上角分享
更新於2018.8.11
12. 小程序中的數據爲單項綁定,能夠經過setData()從新渲染頁面
13. window.redirectTo() 、window.navigateTo() 與window.switchTab()的區別
window.redirectTo : 跳轉後關閉當前頁面
window.navigateTo : 跳轉後保留當前頁面,能夠作返回操做
window.switchTab: 只能用於跳轉帶有tabbar的頁面
14. navigateTo帶來的層級問題: 小程序中使用navigateTo後會增長頁面的一個層級,後退返回上一個層級。同時,小程序中最多隻容許五個層級的頁面。
15. 小程序中catch事件會阻止冒泡,而bind事件則不會阻止冒泡。
16. 使用模板時,import與include的區別:
import:使用import的引入的模板,在根節點須要使用template將全部標籤包住,能夠傳遞數據
include: 純靜態的html導入,至關於佔位符,不能傳遞數據。
17. 在app.js中設置的小程序的聲明週期
// onLaunch 監聽小程序的初始化,當小程序初始化完成時,會觸發onLaunch(全局只觸發一次) // onShow 監聽小程序顯示,當小程序啓動,或從後臺進入前臺顯示,會觸發onShow // onHide 監聽小程序隱藏,當小程序從前臺進入後臺時觸發 // onError 錯誤監聽信息,當小程序發生錯誤腳本,或者API調用失敗時觸發,並帶上錯誤
更新於2018.8.26
18. 小程序中的緩存的實效默認爲永久。最大不容許超過10M。
19. template和block標籤在編譯後都會消失,因此不能在這兩種標籤上作綁定事件等操做。
20.小程序中修改當前頁面的data數據並同步到視圖時時,不能直接修改,須要使用setData()方法。
更新於2018.9.2
21. wx.setNavigationBarTitle() 能夠覆蓋app.json中對標題的設置,建議在頁面的onReady鉤子中使用。
22. wx.setData(obj), 使用時強烈建議先將obj初始化以後,再傳入函數進行調用。涉及到字符串拼接時,只能使用obj[key]的方法進行賦值。