前面一篇介紹了微信小程序目錄結構、基本配置。這里再來介紹一下函數定義、頁面渲染。
小程序邏輯app.js:定義App函數用來注冊一個小程序,包含全局數據和函數,指定小程序的生命周期回調等。整個小程序只有一個 App 實例,全部頁面共享使用。

//app.jsApp({ onLaunch: function () { // 展示本地存儲能力 var logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx.setStorageSync('logs', logs) // 登錄 wx.login({ success: res => { // 發送 res.code 到后臺換取 openId, sessionKey, unionId } }) // 獲取用戶信息 wx.getSetting({ success: res => { if (res.authSetting['scope.userInfo']) { // 已經授權,可以直接調用 getUserInfo 獲取頭像昵稱,不會彈框 wx.getUserInfo({ success: res => { // 可以將 res 發送給后臺解碼出 unionId this.globalData.userInfo = res.userInfo // 由于 getUserInfo 是網絡請求,可能會在 Page.onLoad 之后才返回 // 所以此處加入 callback 以防止這種情況 if (this.userInfoReadyCallback) { this.userInfoReadyCallback(res) } } }) } } }) }, globalData: { userInfo: null }})生命周期函數:
| 屬性 | 類型 | 描述 | 觸發時機 |
|---|---|---|---|
| onLaunch | Function | 生命周期回調—監聽小程序初始化 | 小程序初始化完成時(全局只觸發一次) |
| onShow | Function | 生命周期回調—監聽小程序顯示 | 小程序啟動,或從后臺進入前臺顯示時 |
| onHide | Function | 生命周期回調—監聽小程序隱藏 | 小程序從前臺進入后臺時 |
| onError | Function | 錯誤監聽函數 | 小程序發生腳本錯誤,或者 api 調用失敗時觸發,會帶上錯誤信息 |
| onPageNotFound | Function | 頁面不存在監聽函數 | 小程序要打開的頁面不存在時觸發,會帶上頁面信息回調該函數 |
| 其他 | Any | 開發者可以添加任意的函數或數據到 Object 參數中,用 this 可以訪問 |
新聞熱點
疑難解答