1. 程式人生 > >微信小程式——學習筆記(二):邏輯層(1)

微信小程式——學習筆記(二):邏輯層(1)

邏輯層將資料進行處理後傳送給檢視層,同時接受檢視層的事件反饋。

App()函式註冊一個小程式。

當小程式初始化完成時,會觸發 onLaunch(全域性只觸發一次)

當小程式啟動,或從後臺進入前臺顯示,會觸發 onShow

當小程式從前臺進入後臺,會觸發 onHide

當小程式發生指令碼錯誤,或者 api 呼叫失敗時,會觸發 onError 並帶上錯誤資訊

當小程式出現要開啟的頁面不存在的情況,會帶上頁面資訊回撥onPageNotFound函式


onLaunch和onshow的引數


path-開啟小程式的路徑

query-開啟小程式的query

scene-開啟小程式的場景值

shareTicket-

referrerInfo-當場景為由從另一個小程式或公眾號或App開啟時,返回此欄位

referrerInfo.appId-來源小程式或公眾號或App的 appId

referrerInfo.extraData-來源小程式傳過來的資料,scene=1037或1038時支援


onPageNotFound引數

path-不存在頁面的路徑

query-開啟不存在頁面的 query

isEntryPage-是否本次啟動的首個頁面

getApp()函式可以用來獲取小程式例項

var appInstance = getApp()
console.log(appInstance.globalData)
  • App() 必須在 app.js 中註冊,且不能註冊多個。
  • 不要在定義於 App() 內的函式中呼叫 getApp() ,使用 this 就可以拿到 app 例項。
  • 不要在 onLaunch 的時候呼叫 getCurrentPages(),此時 page 還沒有生成。
  • 通過 getApp() 獲取例項之後,不要私自呼叫生命週期函式。

Page()函式註冊一個頁面

屬性 型別 描述
data Object 頁面的初始資料
onLoad Function 生命週期函式--監聽頁面載入
onReady Function 生命週期函式--監聽頁面初次渲染完成
onShow Function 生命週期函式--監聽頁面顯示
onHide Function 生命週期函式--監聽頁面隱藏
onUnload Function 生命週期函式--監聽頁面解除安裝
onPullDownRefresh Function 頁面相關事件處理函式--監聽使用者下拉動作
onReachBottom Function 頁面上拉觸底事件的處理函式
onShareAppMessage Function 使用者點選右上角轉發
onPageScroll Function 頁面滾動觸發事件的處理函式
onTabItemTap Function 當前是 tab 頁時,點選 tab 時觸發
其他 Any 開發者可以新增任意的函式或資料到 object 引數中,在頁面的函式中用 this 可以訪問

object 內容在頁面載入時會進行一次深拷貝,需考慮資料大小對頁面載入的開

初始化資料

初始化資料將作為頁面的第一次渲染。data 將會以 JSON 的形式由邏輯層傳至渲染層,所以其資料必須是可以轉成 JSON 的格式:字串,數字,布林值,物件,陣列。

渲染層可以通過 WXML 對資料進行繫結。

生命週期函式

  • onLoad: 頁面載入

    • 一個頁面只會呼叫一次,可以在 onLoad 中獲取開啟當前頁面所呼叫的 query 引數。
  • onShow: 頁面顯示

    • 每次開啟頁面都會呼叫一次。
  • onReady: 頁面初次渲染完成

    • 一個頁面只會呼叫一次,代表頁面已經準備妥當,可以和檢視層進行互動。
    • 對介面的設定如wx.setNavigationBarTitle請在onReady之後設定。詳見生命週期
  • onHide: 頁面隱藏

    • navigateTo或底部tab切換時呼叫。
  • onUnload: 頁面解除安裝

    • redirectTonavigateBack的時候呼叫。