1. アプリケーションのライフサイクル
アプレットの起動→実行→破棄までの流れ
アプリケーション ライフサイクル機能
アプリのライフサイクル関数は app.js で宣言されており、実行シーケンスは次のとおりです。
- onLaunch (アプレットの初期化時にトリガーされ、グローバルに一度だけトリガーされ、すべてのページ サイクル関数の前に実行されます)
- onShow (アプレットの起動時、またはバックグラウンドからフォアグラウンド表示に入ったときにトリガーされ、すべてのページ サイクル関数の前に実行されます)
- onHide (アプレットがフォアグラウンドからバックグラウンド表示に入ったときにトリガーされます)
- onError (アプレットでスクリプト エラーが発生した場合、または API 呼び出しでエラーが報告された場合にトリガーされます)
- onPageNotFound (アプレットで開くページが存在しない場合にトリガーされます)
- onUnhandledRejection (アプレットに未処理の Promise 拒否がある場合にトリガーされます)
- onThemeChange (システムがテーマを切り替えるときにトリガーされます)
2. ページのライフサイクル
各ページの読み込み→レンダリング→破棄の処理
ページのライフサイクル機能
ページのライフサイクル機能はページの .js ファイルで宣言されており、実行シーケンスは次のとおりです。
-
onLoad (ページが作成されたときに実行され、ページのライフ サイクルで 1 回だけ呼び出されます。オブジェクト パラメーターを受け取ることができます。このパラメーターには、ページが開かれたときに
wx.navigateTo()
URL にスプライスされたパラメーターが含まれ、多くの場合、初期化とデータのダンプに使用されます)①アプレットを開いた時に表示されるページで実行される
②
wx.navigateTo
開いた③
wx.switchTab
初回 -
onShow (ページが最前面に表示されたときに実行される)
-
onReady (ページが初めてレンダリングされるときに実行され、ページの最初のレンダリングの完了を監視し、ページのライフ サイクルで 1 回だけ呼び出されます。wx.setNavigationBarTitle を呼び出すなど、この関数でページ コンテンツを変更できます。 )
①アプレットを開いた時に表示されるページで実行される
②
wx.navigateTo
開いた③
wx.switchTab
初回 -
onHide (ページは閉じられず、フォアグラウンドからバックグラウンドに変更されたときにのみ実行されます)
① 通常のページ利用 他のページへの
wx.navigateTo
切り替え②タブバーページは、他のページへの
wx.switchTab
切り替え -
onUnload (ページが破棄されたときに実行され、ページのライフサイクルで一度だけ呼び出されます)
-
onPullDownRefresh (プルダウン更新がトリガーされたときに実行されます)
-
onReachBottom (ページがボトムアウトしたときに実行)
-
onShareAppMessage (ユーザーがページを共有したときに実行)
-
onPageScroll (ページスクロール時に実行)
-
onResize(ページサイズ変更時に実行)
-
onTabItemTap (タブがクリックされたときに現在の tabBar ページがトリガーされる場合、カスタム タブバーが使用されている場合はトリガーされません。クリックされたタブのインデックス、pagePath、テキスト、およびその他のデータを含むオブジェクト パラメーターを受け取ることができます。 )
ノート:
①wx.switchTab
呼び出し時 ( tabBar ページへのジャンプのみ)、他のすべての非 tabBar ページを閉じます。つまり、すべての非 tabBar 非閉じたページを実行します。onUnload
② を呼び出すwx.reLaunch
と、閉じられていないすべてのページ (現在のページを含む) が閉じられます。つまり、閉じられていないすべてのページが実行されます。onUnload
③呼び出しwx.redirectTo
時(タブバー以外のページにしかジャンプできない)、現在のページを閉じて現在のページを実行するonUnload
④ 呼び出しwx.navigateTo
時、現在のページを保存し(戻るwx.navigateBack
には を)、アプリケーション内のページにジャンプします。ただし、タブバーページにジャンプすることはできません。現在のページが実行されますonHide
⑤呼び出し時wx.navigateBack
(前ページや多段ページへの復帰)、現在のページ(現在のページを含む)と対象のページとの間のポップアップページをすべて閉じ、実行onUnload