【小程式】生命週期與app物件的使用
小程式的生命週期與app物件的使用
APP的生命週期
App()
函式用來註冊一個小程式。接受一個 object 引數,其指定小程式的生命週期函式等。
App()必須在app.js中註冊,且不能註冊多個。
object引數說明:
當小程式處於前臺的狀態時,既處於onShow的狀態;
而當小程式按了Home鍵又或者被其他程式完全遮擋時,這是就會進入後臺狀態,也就是onHide的狀態,而如果此時再次進入微信或再次開啟小程式,就會從後臺進入前臺。
如果小程式進入後臺一定時間,或者系統資源佔用過高,才會被真正的摧毀。生命週期的理解其實和Android裡面的生命週期也基本類似。
頁面的生命週期
Page()
函式用來註冊一個頁面。接受一個 object 引數,其指定頁面的初始資料、生命週期函式、事件處理函式等。相當於是每個頁面的生命週期,其相關生命週期如下:
object引數說明:
跳轉頁面
在小程式中,跳轉頁面可以通過下面兩個介面實現:
wx.navigateTo
這個介面用於開啟新的頁面;或者直接在wxml頁面頁面使用元件 也可以。
wx.redirectTo
這個介面用於頁面重定向,也就是相當於把當前頁面替換成一個新的新頁面,這時候就無法返回上一個頁面了。
注:在使用tabBar時,帶有tabBar的頁面似乎就無法通過wx.navigateTo
和wx.redirectTo
這時候,可以選擇wx.switchTab
進行跳轉或者wx.reLaunch
跳轉,前者不能傳遞資料,而後者可以傳遞資料,但兩種方法都不能再返回上一個頁面了。
傳遞資料
如果需要在不同頁面當中傳遞資料,則可以在路徑名後加上’?’在新增對應變數名字和數值即可,多個數據的時候則用&&連線。
例如:url='../logs/logs?id=1&&title="你好"
這樣就可以將資料傳遞到logs這個頁面,而在logs頁面下,通過onLoad下的option就可以接收對應的資料,在進行使用即可。
app物件的使用
通過getApp()來獲取app的例項,從而得到相關資料。