アプレットは、3つの部分のアプリケーション、ページおよびコンポーネントに分け、その小さなプログラムのライフサイクルは、次のことを必要とします
- アプリケーションのライフサイクル
- ページのライフサイクル
- ライフサイクルのコンポーネント
- アプリケーションのライフサイクルのページのライフサイクルに影響を与えます
アプリケーションのライフサイクル
アプリ()関数は、小さなプログラムを登録するために使用されます。ライフサイクルコールバックや他の小さなプログラムを指定するオブジェクトのパラメータを取ります。
app.jsのApp()が呼び出されなければならない、あなたが呼び出す必要がありますし、一度だけ呼ばれること。
App({
onLaunch: function(options) {
// 监听小程序初始化。小程序初始化完成时(全局只触发一次)
},
onShow: function(options) {
// 监听小程序显示。小程序启动,或从后台进入前台显示时
},
onHide: function() {
// 监听小程序隐藏。小程序从前台进入后台时。
},
onError: function(msg) {
console.log(msg) // 错误监听函数。小程序发生脚本错误,或者 api 调用失败时触发,会带上错误信息
},
onPageNotFound: function(res) {
// 页面不存在监听函数。小程序要打开的页面不存在时触发,会带上页面信息回调该函数
},
globalData: 'I am global data' //全局变量
})
フォアグラウンドでは、背景の定義:ユーザーがクリックは、マイクロチャネルデバイスを残すために、左上隅を閉じる、またはHomeキーを押した場合、アプレットは直接破壊されていませんが、バックグラウンドに、入力するか、再度アプレットを再開くマイクロ文字、バックグラウンドからフォアグラウンドに入ります。
- ユーザは、最初onLaunch方法(一度のみグローバルトリガー)をトリガする、小さなプログラムを開きます。
- アプレットの初期化が完了すると、トリガーonShow方法、モニタアプレットが表示されます。
- onHideメソッドをトリガ背景に前景からアプレット。
- onShowメソッドをトリガ前景表示に背景からアプレット。
- アプレットは、バックグラウンドで一定の時間を実行している、またはシステムリソースがあまりにも、破壊されます。
グローバルgetApp()関数は、アプレットインスタンスのアプリケーションを取得するために使用することができます。
執筆:var app = getApp()
注:DOはアプリケーションの呼び出しgetApp()、インスタンスを取得するには、このアプリを使用することができます(で)関数で定義されていない。getAppてインスタンスを取得した後に、ライフサイクルの関数を呼び出すしないでください()
ページのライフサイクル
ページ(オブジェクト)関数は、ページを登録するために使用されます。初期データ・ページを指定するオブジェクトの型パラメータを取る、ライフサイクルコールバック、イベントハンドラのように。
//index.js
Page({
data: {
// 页面的初始数据
text: "This is page data."
},
onLoad: function(options) {
// 生命周期回调—监听页面加载
},
onReady: function() {
// 生命周期回调—监听页面初次渲染完成
},
onShow: function() {
// 生命周期回调—监听页面显示
},
onHide: function() {
// 生命周期回调—监听页面隐藏
},
onUnload: function() {
// 生命周期回调—监听页面卸载
},
onPullDownRefresh: function() {
// 监听用户下拉动作
},
onReachBottom: function() {
// 页面上拉触底事件的处理函数
},
onShareAppMessage: function () {
// 用户点击右上角转发
},
onPageScroll: function() {
// 页面滚动触发事件的处理函数
},
onResize: function() {
// 页面尺寸改变时触发
},
onTabItemTap(item) {
// 当前是 tab 页时,点击 tab 时触发
console.log(item.index)
console.log(item.pagePath)
console.log(item.text)
},
// 任意的函数,在页面的函数中用 this 可以访问
viewTap: function() {
this.setData({
text: 'Set some data for updating view.'
}, function() {
// this is setData callback
})
},
// 任意数据,在页面的函数中用 this 可以访问
customData: {
hi: 'MINA'
}
})
ページのライフサイクルチャート
- アプレットの登録が完了すると、ページはのonLoadメソッドをトリガー、ロードされます。
- この方法は、ページを表示するonShowページ後にトリガをロードされます。
- 最初の表示ページは、ページを一度だけ呼び出されます、ページ要素とスタイルをレンダリング、onReadyメソッドがトリガされます。
- アプレットは、バックグラウンドで実行されているかonHideメソッドをトリガー、他のページにジャンプしたとき。
- アプレットがフォアグラウンドにバックグラウンドを持っているときに入力するか、onShow方法をトリガ、ページを再入力してください。
- リダイレクション方法wx.redirectTo(オブジェクト)または近い現在のページに戻るwx.navigateBack()を使用する場合、ONUNLOADを引き起こしました。
要約:
- ONLOAD:ページがロードされます。ページは一度だけ呼ばれます。パラメータはwx.navigateToとwx.redirectToを取得し、クエリでことができます。
- onShow:ページが表示されます。あなたがページを開くたびに一度呼び出されます。
- onReady:最初のページのレンダリングが完了しています。ページの代わりに一度だけというページには、あなたが相互作用して、ビュー層ができ、準備ができてきました。設定はonReady後wx.setNavigationBarTitleセットとしてインターフェイス。
- onHide:ページが隠されました。コールはnavigateToまたは下のタブを切り替えたとき。
- ONUNLOAD:アンインストールページ。redirectToまたはnavigateBackが呼び出されたときとき。
コンポーネントのライフサイクル
自己集合、特定の時点またはいくつかの特別なイベント・フレームワークを満たしたときに自動的にトリガされる機能のいくつかを参照コンポーネントのライフサイクル。
最も重要なライフサイクルの一つ外し添付して作成され、時間の中で最も重要なポイントのコンポーネントインスタンスの生命過程が含まれています。
- 作成されたコンポーネントがインスタンス化され、ノードツリーが導入されていないので、この時点で使用することができないのsetData
- 添付のコンポーネントの初期化が完了すると、ノードツリーの完了のsetDataノードをレンダリングするために使用することができるが、ノードが動作することができません
- 準備アセンブリのレイアウトが完了し、その後、ノード情報を取得することができる、ノードが動作してもよいです
- コンポーネントインスタンスがツリー内の別の場所に移動させる移動
- 取り外しノードツリーから除去成分として
コンポーネントは、これらのコンポーネントであるライフサイクルのページではありませんと強い相関があるが、定義セクションのpageLifetimesで定義され、時にはコンポーネントは、ライフサイクルの内部コンポーネントに対処することを学ぶ必要があります。
- コンポーネントがショー実行されているページショー
- 実行時間が隠されているページを隠すコンポーネント
- ページサイズの変更は、コンポーネントが配置されているサイズを変更するときに実行
アプリケーションのライフサイクルのページのライフサイクルに影響を与えます
- アプレットの初期化が完了すると、ページが最初にロードされたトリガのonLoad、それは一度だけトリガされますです。
- 背景にアプレットは、ページonHideの方法を実行して、アプリケーションonHide方法を実行します。
- プログラムがフォアグラウンドに小さな背景から行くときの方法は、ページonShow方法を実行するonShow、アプリケーションを実行します。