角度成し遂げるまず、実装方法についてはあまり言う必要はありません。フック関数を使用するには、定義時に対応するインターフェースを実装する必要があります。 エクスポートクラス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 のインストールに関するチュートリアル
成果を達成する要件/機能: CSS + HTML を使用してハートを描く方法。分析:正方形と 2 つ...
序文この記事は主に、MySQL の Innodb で 2T の大きなテーブルをすばやく削除する方法に...
ハロウィーンではありませんが、Linux の不気味な側面に注目する価値はあります。幽霊、魔女、ゾンビ...
最近、Apache を nginx に変更しました。TP プロジェクトを実行に移すと、404 エラー...
既存のイメージから新しいイメージを構築することは、Dockerfile ドキュメントを通じて行われま...
CentOS 8をインストールした後、ネットワークを再起動すると次のエラーが表示されますエラーメッセ...
目次1. レシピ集1.1 プロジェクトの背景1.2 テクノロジースタック1.3 開発環境1.4. プ...
目次背景技術的ソリューション具体的な実装要約する背景Element UI は、PC で人気の Vue...
この記事では、参考までに、簡単な計算機を実装するためのJavaScriptの具体的なコードを紹介しま...
ウェブサイトのデザインを編集または変更する必要がある場合、CSS が重要な役割を果たします。 CSS...
問題: mybatis によって返される null 型のデータが消え、フロントエンドの表示にエラーが...
MySQL 8.0.19 では、間違ったパスワードを 3 回入力するとアカウントがロックされるよう...
遅延読み込み(レイジー読み込み)とプリロードは、Web 最適化によく使用される手段です。 。 1. ...
最近、Ant Design Blazor コンポーネント ライブラリにマルチタブ コンポーネントを実...
nginx の default_server ディレクティブは、server_name と一致しない...