Angularと違うLifecycle events
AngularでもライフライクルイベントがありngOnInit
など宣言できますが、implementsでinterface宣言をする必要があります。Ionicではimplements宣言なしでライフサイクルイベントを実行・管理することができます。公式ページのライフサイクルイベント和訳と自分なりに考えた例です。
公式ページの和訳と例
Page Event | Returns | 説明 |
---|---|---|
ionViewDidLoad | void | ページが読み込まれたときに実行されます。このイベントは、作成されるページごとに1回のみ発生します。ページが去ってもキャッシュされている場合、このイベントはその後の表示で再び発生しません。ionViewDidLoad イベントは、ページのセットアップコードを置くのに良い場所です。例:初期データ読み込み、Loading発行 |
ionViewWillEnter | void | ページが表示されてアクティブなページになる直前に実行されます。 例:初期表示のポップアップ |
ionViewDidEnter | void | ページが完全に表示され、現在アクティブなページになったときに実行されます。このイベントは、最初のロードであっても、キャッシュされたページであっても発生します。 例:Loading停止 |
ionViewWillLeave | void | ページが非アクティブにされようとしており、アクティブページではなくなったときに実行されます。 例:ページを離れてい良いかの確認ダイアログ |
ionViewDidLeave | void | ページが終了し、アクティブページではなくなったときに実行されます。 例:不要になった外部サービスの停止(DBのdiscconectionやsocket終了) |
ionViewWillUnload | void | ページが破棄されようとしているときに実行され、要素が削除されます。 例:思いつかない |
ionViewCanEnter | boolean/Promise<void> | ビューが入る前に実行されます。これは、認証されたビューで一種の "ガード"として使用でき、ビューを入力する前に権限をチェックする必要があります。 例:ログインチェック |
ionViewCanLeave | boolean/Promise<void> | ビューが終了する前に実行されます。これは、ビューが離れる前にパーミッションをチェックする必要がある、認証されたビューで一種の "ガード"として使用できます。 例:ログアウトチェック |