GridPageComponentというコンポーネントがあるとします。これは私のアプリの多くのルートの一つです。また、ngOnInitで呼び出されるLOAD_DATAというアクションもあります。コンポーネントがロードされる最初のときにのみこの呼び出しを行うのがベストプラクティスですか?私が離れて帰ってくると、このサービスコールをしないようにしたい。私が思いつくことができる唯一のことは、ストアに加入して、フラグがロードされているかどうかを確認することです。それがなければ私はそれを取るためにアクションをディスパッチするだろう。コンポーネントの最初のロードでのみNGRXとサービスコール
1
A
答えて
1
あなたは正しい軌道にいると思います。私はあなたの状態にいくつかloaded
プロパティを追加し、データが既に読み込まれているかどうかを確認します。そうでない場合は、データをロードするアクションをディスパッチします。
私はこのチェックをcanActivateガードに入れます。これは、コンポーネントコードをより希薄に保ちます。あなたのngOnInitはselectと同じくらいシンプルにすることができます。ガードは、データが必要な複数のルートにわたって再利用することもできます。
関連する問題
- 1. ngrx/example-appのコンテナとコンポーネント
- 2. ngrxの親子コンポーネント
- 3. 子コンポーネントのNGRXと状態管理
- 4. コンポーネント機能は最初のコンポーネントでのみ動作します。Vue.js
- 5. PrimeNGロードのみ必須コンポーネント
- 6. Routerが最初にコンポーネントをロードしないでナビゲートします
- 7. ときに最初にロード
- 8. Ruby on RailsのNoMethodErrorは最初のロード時のみ
- 9. ロードXML-スキップ最初の行
- 10. セルが最初のロード
- 11. スワイパーは最初のページのみをロードします
- 12. 最初のロード時にのみダイアログボックスを表示
- 13. コンポーネント内の角型サービスコール関数
- 14. 角2 + ngrx/store - 配列内のコンポーネントの再初期化を避ける
- 15. Observerはコンポーネントへの最初のロード時に起動しません。
- 16. データシートは最初のロードとリロード後に最初の行を選択します
- 17. AngularJS、私の最初のHTMLコンポーネント「ウィジェット」
- 18. 別のAngularコンポーネントの最初の子コンポーネントのCSSセレクタ
- 19. AutoMapperのAssertConfigurationIsValidは最初のロード時にのみ失敗しますか?で
- 20. 最初のページの読み込みと最初の読み込みボタンをクリックしました。
- 21. UISplitViewController:TableViewの最初の行をロード
- 22. angle2サービスコールとコンポーネント間のデータ型を管理する方法は?
- 23. のみ最初のコマンドは
- 24. は、最初のレコードのみ
- 25. 最初のコンポーネントに依存するUIPickerView
- 26. React:コンポーネントがレンダリングされたときにのみコンポーネントのCSSをロードする
- 27. EF 4.1コードの最初のデータベースの初期化System.NullReferenceExceptionデータのロード
- 28. VueコンポーネントはテンプレートDOMの最初の要素のみをレンダリングします
- 29. jquery show div最初のホバーでのみ
- 30. 最初のページに画像をロード