/ /角度2サービス開始 - サービス、角度

角度2サービスの起動 - サービス、角度

角度2でサービスを実行することは可能ですかスタートアップ時? ブートストラップはサービスのコンストラクタを実行しません。 また、インジェクタは、一部のコンポーネントにサービスの注入があるたびに、サービスのコンストラクタを実行しています。サービスをシングルトンにして、一度しか実行しないようにする方法はありますか?

回答:

回答№1は2

ブートストラップにのみサービスを追加し、コンポーネント内の設計者にはサービスを追加しないでください。 あなたがAppComponentにそれを挿入すると、インスタンス化されるのは一度だけです。

コンポーネント上のプロバイダにサービスを追加すると、コンポーネントインスタンスごとに新しいインスタンスが作成されます。


回答№2の場合は1

ブートストラップはサービスを開始しません。これは、サービスを注入している消費クラスです。ブートストラップにリストすることで、シングルトンが取得されます。

あなたが注射可能なサービス(LogRepository)をブートストラップにリストするという慣習に従えば、すべてのサービスはシングルトンになります。 (LogRepositoryのように) bootstrap(TheApp, [HTTP_PROVIDERS,LogRepository]);

注入可能なサービスのインスタンスは、コンポーネント上のプロバイダとしてリストアップしていますが、起動する場合はbootstrap()でリストするだけです。すべてのシングルトン。