2016-08-17 4 views
0

Ich habe ein NgModule wie unten erstellt, aber in meiner SomeComponent muss ich noch SomeService einbinden, sonst wird es einen Fehler geben. Ist das der richtige Weg? Wie bei der Routing-Datei muss ich die Komponenten importieren, die bereits in NgModule importiert wurden.Angular2 RC5: wiederholter Import in Komponenten- und Router-Datei

@NgModule({ 
    imports:  [ CommonModule, SharedModule ], 
    declarations: [ SomeComponent ], 
    providers: [ SomeService ] 
}) 

export class TestModule { } 

in SomeComponent:

import { SomeService } from "./some.service"; 

    export class SomeComponent { 
     constructor(private _someService: SomeService) { 
      this._comService.xxx 
     } 
    } 

Antwort

0

Das ist richtig. Beim Importieren erhalten Sie Zugriff auf die Eigenschaften und Methoden der Serviceklasse. Ein Verweis darauf in den Konstruktorparametern weist Angular an, eine Instanz davon abzurufen.

Die einzige Sache, die Sie (normalerweise) nicht tun möchten, ist, den Service als ein Anbieter innerhalb der Komponenten aufzulisten, in denen Sie es verwenden möchten. Da es bereits in dem Anbieter-Array im Modul Dekorator aufgeführt ist es als Anbieter anderswo wird separate Instanzen erstellen.

Siehe Angular NgModule docs

0

Das ist richtig. Sie müssen den Import trotzdem durchführen. Sie müssen die Anbieter und Richtlinien nicht überall angeben.

Verwandte Themen