字節(jié)跳動(dòng)小程序開發(fā)框架 啟動(dòng)程序

2019-07-25 11:08 更新

App()


App(params) 是框架啟動(dòng)小程序的入口函數(shù),需要開發(fā)者可以通過App(params)的參數(shù)指定小程序的生命周期函數(shù)和其他一些自定義參數(shù)。

params參數(shù)說明:

屬性 類型 描述 觸發(fā)時(shí)機(jī)
onLaunch Function 生命周期函數(shù)--監(jiān)聽小程序初始化 當(dāng)小程序初始化完成時(shí),會(huì)觸發(fā) onLaunch(全局只觸發(fā)一次)
onShow Function 生命周期函數(shù)--監(jiān)聽小程序顯示 當(dāng)小程序啟動(dòng),或從后臺(tái)進(jìn)入前臺(tái)顯示,會(huì)觸發(fā) onShow
onHide Function 生命周期函數(shù)--監(jiān)聽小程序隱藏 當(dāng)小程序從前臺(tái)進(jìn)入后臺(tái),會(huì)觸發(fā) onHide
onError Function 錯(cuò)誤監(jiān)聽函數(shù) 當(dāng)小程序發(fā)生腳本錯(cuò)誤,或者 api 調(diào)用失敗時(shí),會(huì)觸發(fā) onError 并帶上錯(cuò)誤信息
onPageNotFound Function 頁面不存在監(jiān)聽函數(shù) 當(dāng)小程序出現(xiàn)要打開的頁面不存在的情況,會(huì)帶上頁面信息回調(diào)該函數(shù),詳見下文
其他 Any 開發(fā)者可以添加任意的函數(shù)或數(shù)據(jù)到 Object 參數(shù)中,用 this 可以訪問

示例代碼:

App({
  onLaunch: function(options) {
    // Do something initial when launch.
  },
  onShow: function(options) {
      // Do something when show.
  },
  onHide: function() {
      // Do something when hide.
  },
  onError: function(msg) {
    console.log(msg)
  },
  globalData: 'I am global data'
})

onLaunch 參數(shù)


onLaunch參數(shù)同tt.getLaunchOptionsSync

onShow參數(shù):

屬性 類型 說明
path String 啟動(dòng)頁面
query Object 啟動(dòng)參數(shù)
referrerInfo Object 來源信息。從另一個(gè)小程序進(jìn)入小程序時(shí)返回。
scene String 場景值

referrerInfo說明

字段 類型 說明
appId String 來源小程序id
extraData Object 來源小程序打開當(dāng)前小程序時(shí)攜帶的數(shù)據(jù)

onPageNotFound


當(dāng)要打開的頁面并不存在時(shí),會(huì)回調(diào)這個(gè)監(jiān)聽器,并帶上以下信息:

屬性 類型 說明
path String 不存在頁面的路徑
query Object 打開不存在頁面的 query
isEntryPage Boolean 是否本次啟動(dòng)的首個(gè)頁面

示例代碼:

App({
  onPageNotFound(res) {
    tt.redirectTo({
      url: 'pages/...'
    }) // 重定向頁面;如果是 tabbar 頁面,請(qǐng)使用 tt.switchTab
  }
})

getApp()


如果想在page里面獲取App()設(shè)置的全局變量的話,可以通過getApp()獲取。

示例代碼:

var appInstance = getApp()
console.log(appInstance.globalData) // I am global data


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)