2016-10-21 24 views
0

私は私のプロジェクトモジュールに含まれているサービス(MyService)を持っています。 私はそれぞれのコンポーネントにプライベート変数MyServiceを作成して、そのサービスにデータを設定して取得しています。なぜangular2サービスが複数回呼び出されていますか?

私のコンソールログには、同じサービスが複数回呼び出されているのがわかります。

@NgModule({ 
    imports: [ 
    BrowserModule, 
    routing, 
    ], 
    declarations: [ 
    AppComponent 
    ], 
    providers: [ 
    MyService, 
    ], 
    bootstrap: [AppComponent] 
}) 


//Here is my Component code which create a private variable in my component 

@Component({ 
    selector: 'summary', 
    templateUrl: 'summary.component.html' 
}) 
export class SummaryComponent extends OnInit { 

    constructor(
       private myService: MyService, 
      ) { 
    super(); 
    } 

オブジェクトの作成を複数回中止するにはどうすればよいですか?

+0

サービスを呼び出すコードはどこですか?どんな方法が何回か呼ばれますか?あなたのページにはいくつの要約コンポーネントがありますか? –

+0

私はここに1つのコンポーネントを与えました、そして、そのような多くのコンポーネントがあります。私のアプリケーションでは、各コンポーネントのMyService型変数が作成され、コードに指定されたコンストラクタに挿入されます。 –

+0

それは私の質問に答えない –

答えて

0

サービスのアクティブ化には共有モジュールを使用する必要があります。つまり、atimeにはサービスのインスタンスは1つだけです。

共有モジュールの実装方法については、私の答え、Can't load shared directives of a NgModule in other NgModulesを参照してください。

関連する問題