1. 程式人生 > >【小程式】生命週期與app物件的使用

【小程式】生命週期與app物件的使用

小程式的生命週期與app物件的使用

APP的生命週期

App()函式用來註冊一個小程式。接受一個 object 引數,其指定小程式的生命週期函式等。

App()必須在app.js中註冊,且不能註冊多個。

object引數說明:

這裡寫圖片描述

當小程式處於前臺的狀態時,既處於onShow的狀態;

而當小程式按了Home鍵又或者被其他程式完全遮擋時,這是就會進入後臺狀態,也就是onHide的狀態,而如果此時再次進入微信或再次開啟小程式,就會從後臺進入前臺。

如果小程式進入後臺一定時間,或者系統資源佔用過高,才會被真正的摧毀。生命週期的理解其實和Android裡面的生命週期也基本類似。

頁面的生命週期

Page()函式用來註冊一個頁面。接受一個 object 引數,其指定頁面的初始資料、生命週期函式、事件處理函式等。相當於是每個頁面的生命週期,其相關生命週期如下:

object引數說明:

這裡寫圖片描述

跳轉頁面

在小程式中,跳轉頁面可以通過下面兩個介面實現:

  1. wx.navigateTo這個介面用於開啟新的頁面;

    或者直接在wxml頁面頁面使用元件 也可以。

  2. wx.redirectTo這個介面用於頁面重定向,也就是相當於把當前頁面替換成一個新的新頁面,這時候就無法返回上一個頁面了。

注:在使用tabBar時,帶有tabBar的頁面似乎就無法通過wx.navigateTowx.redirectTo

跳轉了。

這時候,可以選擇wx.switchTab進行跳轉或者wx.reLaunch跳轉,前者不能傳遞資料,而後者可以傳遞資料,但兩種方法都不能再返回上一個頁面了。

傳遞資料

如果需要在不同頁面當中傳遞資料,則可以在路徑名後加上’?’在新增對應變數名字和數值即可,多個數據的時候則用&&連線。

例如:url='../logs/logs?id=1&&title="你好"這樣就可以將資料傳遞到logs這個頁面,而在logs頁面下,通過onLoad下的option就可以接收對應的資料,在進行使用即可。

app物件的使用

通過getApp()來獲取app的例項,從而得到相關資料。