[a]サービスの独自のインスタンスを作成する各コンポーネントがあるようです。なぜか分からない。角ダーツで複数のサービスインスタンスを避ける方法
私はこのAngularJs 2 - multiple instance of service createdに注意していますが、正しい解決策については明確ではありません。
void main() {
bootstrap(AppComponent,[MyService]);
}
、その後、(私もコンポーネントプロバイダからMyService
を取り除くため)[子供]コンポーネントにコピー:私は、メインにサービスインスタンス_myService
を作成していますか?これは正しくないと思われます。なぜなら、コンポーネントがインスタンス化される前に_myService
を参照していて、nullであることを確認する必要があるからです。 (あなたには、いくつかのコンポーネントで再びそれを提供しない場合)、ブートストラップであなたのサービスを作成する
おかげ
スティーブ
"サービスをブートストラップで作成すると、そのアプリケーションのインスタンスが1つしかないことが確認されます。" - それはしません。私はいくつかのintancesを取得します。そのため、コンポーネントプロバイダからMyServiceを削除すると、コンポーネントがブートストラップからインスタンスにどのようにアクセスしますか?ありがとう、s – Lymp
DIはAngularのDOMツリーと密接に関連しています。もしあなたがアプリレベルで何かを提供すれば、どのコンポーネントもそれを注入できます。 – rkj