角度成し遂げるまず、実装方法についてはあまり言う必要はありません。フック関数を使用するには、定義時に対応するインターフェースを実装する必要があります。 エクスポートクラスListPageはOnInitを実装します{ コンストラクタ() {} ngOnInit() { // ここにコード } } 呼び出し順序1.コンストラクタ 最初に実行されるのはコンストラクタです。コンストラクタ実行時には、@Input や @ViewChild などの多くの変数は存在しません。関連する操作は ngOnInit に記述するのがベストです。 2. 変更時 現在のコンポーネント @Input/@Output のバインディング値が変更されたときにトリガーされます。 3. ngOnInit 最初の ngOnChanges が完了した後に呼び出されます。1 回だけ実行されます。 4. ngDoCheck 開発者が定義した変更検出。 5. ngAfterContentInit コンポーネントコンテンツが初期化されるときに1回実行される 6. ngAfterContentChecked コンポーネントに投影されたコンテンツは、ngDoCheck 呼び出しごとにトリガーされます。 7. ngAfterViewInit コンポーネントとそのサブコンポーネントビューが初期化されるときに一度実行されます。 8. ngAfterViewChecked コンポーネントとその子ビューでの各 ngDoCheck 呼び出しの後に発生します。 9. ngOnDestroy コンポーネントが破棄される前に呼び出されます。 知らせ
イオニック上記のリンクをクリックすると元の文書が表示されます。重要なポイントを強調します。 ライフサイクルは図に示されています。Angular が提供するライフサイクルに加えて、Ionic はいくつかのイベントを追加します。
ionViewWillEnterはngOnInitの後にトリガーされ、ionViewDidEnterはページ切り替えの遷移効果が終了した後にトリガーされます。
ionViewWillLeave が最初に呼び出され、新しいページへの遷移が成功するまで (新しいページの ionViewDidEnter がトリガーされた後)、ionViewDidLeave は呼び出されません。 ion-nav または ion-router-outlet を使用するコンポーネントは、OnPush 変更検出戦略を使用しないでください。これにより、ngOnInit などのライフサイクル フックがトリガーされなくなります。さらに、非同期に変更されたデータは正しくレンダリングされない可能性があります。 ionic はページのライフサイクルをどのように処理しますか?ionic で使用されるルーティング アウトレットは <ion-router-outlet /> です。これは Angular の <router-outlet /> を拡張し、モバイル デバイスでより優れたエクスペリエンスを提供できます。 あるページから新しいページにジャンプすると、Ionic は古いページを DOM に保存し、表示しないようにします。これにより、スクロール位置やページデータなど、前のページの状態を維持できるため、新しいページから前のページに戻るときに再読み込みする必要がなく、ページ遷移がよりスムーズになります。 ページはスタックから抜けたときにのみ破棄されるため、ngOnInit と ngOnDestroy がトリガーされるタイミングは想像どおりにならない可能性があります。
ルートガードIonic 3 には、ページに入る/離れることができるかどうかを判断するために使用する ionViewCanEnter と ionViewCanLeave という 2 つのフック関数がありました。これらは通常、アクセス権を制限したり、編集ページを離れる前に 2 次確認プロンプトをポップアップ表示したりするために使用されていました。これら 2 つの関数は非推奨になりました。Ionic 4 以降では、Angular の公式ルーティング ガードを使用します。 要約するAngular と Ionic のライフサイクルとフック関数に関するこの記事はこれで終わりです。Angular Ionic のライフサイクルとフック関数に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: Linux での MongoDB のインストールに関するチュートリアル
目次スイッチも複雑なコードブロックもありませんPythonからのインスピレーション辞書を使用してスイ...
シナリオ最大 10000 要素のリストを正しくレンダリングする方法。無限ドロップダウン読み込みテクノ...
目次背景1. 思考分析2. ページ構成2.1 HTML レイヤー2.2 CSS レイヤー2.3 JS...
なぜこれを使ったのか?それはポスターを作ることから始まりました。それは嵐の夜でした。 。 。さて、無...
目次メッセージボード必要なライブラリオープンソースプロジェクトプロジェクト構造メッセージボードnod...
序文みなさんこんにちは。CSS ウィザードの alphardex です。この記事では、three.j...
目次全体的な効果コンテナのスクロールイベントをリッスンするストア内の構成ページが戻るときのスクロール...
コードをコピーコードは次のとおりです。 <!DOCTYPE html> <html...
1. HTMLタグは常に閉じる前のページのソース コードでは、次のような記述がよく見られます。 &l...
序文皆さんはリモート サーバーで開発を行っており、MySQL の使用率はかなり高いはずです。コマンド...
この記事では、ドロップダウンテーブルの複数選択と検索を実現するためのvue+elementuiの具体...
1. インストールyumを使用してインストールする ##yum nginx を自動的にインストールす...
Tencent Cloud上に構築されたMySQLは、開発用コンピュータでNavicatを使用して...
MongoDB を起動すると、プロンプトは次のようになります。共有ライブラリのロード中にエラーが発...
1. CSS背景タグ1.背景色を設定するbackground-ground-color プロパティは...