小程序的文檔分爲 簡易教程、框架、組件、API 、工具
https://developers.weixin.qq....javascript
組件---小程序的每一個標籤至關於一個組件,官方已經預約義了一些經常使用的標籤組件,可以知足平常基本功能的使用,這部分分時小程序開發高效的一個緣由,基礎的組件都定義好,須要用就行。這部分的文檔,只要過一下,大概有那些組件,用的時候再仔細閱讀文檔。
開發中經常使用的組件:html
小程序的全局配置在 app.json 中,小程序每添加一個頁面,都要在全局中註冊,文檔:
https://developers.weixin.qq....前端
小程序的列表渲染和其餘的前端模板語言類似,但能夠用wx:for-item="itemname" 來指定每次循環對象的名字,能夠用wx:for-index="indexname" 來指定 循環序列的鍵值,這個功能就是指定循環數組時的鍵和值的別名。
列表中的wx:key 是一個比較使人迷惑的地方 ,不寫會報錯,可是隨便給一個字符也不合理,最好是循環中的一個標記惟一性的鍵值,好比idvue
小程序的事件綁定,寫法上有些區別,主要2種 bind:youevent="eventhandle" catch:youevent="eventhandle" catch 能阻止事件冒泡java
小程序可使用common.js 的模塊開發方式。moudle.exports /exports 導出模塊, require (‘file.js’) 的方式引入模塊react
onLoad 生命週期函數--監聽頁面加載(能夠在這裏異步的請求數據,初始化頁面)
onReady 生命週期函數--監聽頁面初次渲染完成(在這裏,能夠獲取頁面視圖的佈局數據)
onShow 生命週期函數--監聽頁面顯示
onHide 生命週期函數--監聽頁面隱藏
onUnload 生命週期函數--監聽頁面卸載json
在小程序開發過程當中確定會遇到要獲取頁面中元素的位置和元素的寬高。這部分在 文檔=》api=》界面
wxml節點信息 中找相應的apicanvas
getRect: function(){ wx.createSelectorQuery().select('#the-id').boundingClientRect(function(rect){ rect.id // 節點的ID rect.dataset // 節點的dataset rect.left // 節點的左邊界座標 rect.right // 節點的右邊界座標 rect.top // 節點的上邊界座標 rect.bottom // 節點的下邊界座標 rect.width // 節點的寬度 rect.height // 節點的高度 }).exec() },
交互反饋詳情在 文檔=》api=》界面=》交互反饋
一個成功的反饋小程序
wx.showToast({ title: '成功', icon: 'success', duration: 2000 })
小程序整個應用是用App()構造方法組成,頁面是用Page() 構造方法註冊。小程序只有組件纔有自定義事件,在Page() 沒法使用自定義事件經過觸發事件在頁面間傳遞數據不可行,微信提供 獲取整個應用實例的getApp() 方法,這樣能夠獲取app 的實例,經過 pages = getCurrentPages(); 獲取 打開頁面的 列表 ,經過 pages來調用各頁面的方法和更新數據api
var pages = getCurrentPages();//獲取頁面棧 var currPage = pages[pages.length - 1]; //當前頁面 var prevPage = pages[pages.length - 2]; //上一個頁面 //直接調用上一個頁面的setData()方法,把數據存到上一個頁面中去 prevPage.setData({ mdata:1 }); //調用上一個頁面的方法來更新數據 prePage.updatefunc(altdata)