14

と の 2 つのルートがあるDashboardとしProfileます。Dashboardのような動的タブ機能がありますGoogle spreadsheet。.. Dashboard_ ここで、 にルーティングしてProfileから に戻す場合Dashboard、 のそれらのタブに以前あったものを確認したいと思いますDashboard。つまり、クライアント側で状態を維持したいということです。コンポーネント間のルーティング中に知る限り、コンポーネントが再作成されます。angular 2ルーティングを使用しながら、アプリケーションのようなスプレッドシートを作成することは可能ですか? 私のアプリケーションでは LazyLoading 機能を使用する必要があるため、ルーティングを使用する必要があります。

では、どのようなアイデアを考えるべきでしょうか?私はAngular 2が初めてです。

4

2 に答える 2

15

現在、コンポーネントは、同じルートにとどまりながらルート パラメーターのみが変更された場合にのみ再利用されます。

ルートが変更された場合、新しいルートに同じコンポーネントが追加されたときに、コンポーネントが再作成されます。

推奨される回避策は、ルート変更中も存続する共有サービスにモデルを保持し、このサービスからのデータを使用してコンポーネントの以前の状態を復元することです。

ルーターでカスタム再利用戦略をサポートする計画があると述べられましたが、これが利用可能になるタイムラインはありません.

アップデート

カスタム再利用戦略のサポートが Angular2 に追加されました。

こちらもご覧ください

于 2016-09-29T06:47:13.103 に答える