2016-10-07 2 views
0

Ich habe ein AutocompleteModule, das mit SharedModule zur ganzen App exportiert. In SharedModule habe ich FormsModule in die ganze App exportiert.Import von SharedModule FormModule zu Modul, das über SharedModule exportiert wird Angular 2

Aber als ich versuchte, ngModel in AutocompleteModule zu verwenden, bekam ich einen Fehler über ngModel. Als ich FormsModule zu AutocompelteModule auch importierte, funktioniert es gut.

Aber ich habe FormsModule in SharedModule exportiert. Also die Grundfrage. Kann ich SharedModule in AutocompleteModule importieren, um Zugriff auf FormsModule zu erhalten? (Aber ich sah in Doc, dass es eine schlechte Idee ist, diesen Zyklus zu machen).

Also Frage ist: sollte ich FormsModule in AutocompelteModule usw. importieren oder gibt es eine bessere Praxis? Danke!

Antwort

1

AutocompleteModule muss FormsModule importiert werden. Sie können denken, dass das Importieren der SharedModule in die AutocompleteModule den Trick tun würde, aber es wird nicht, da Sie eine zirkuläre Abhängigkeit erhalten werden, die es verursacht, fehlzuschlagen.

Die beste Option ist nur direkt an den FormsModule

@NgModule({ 
    imports: [ FormsModule ] 
}) 
class AutocompleteModule {} 

In SharedModule importiere ich FormsModule auf ganze App

Es funktioniert nicht so exportiert haben. Der Zugriff auf Komponenten, Pipes und Direktiven wird nicht vererbt. Sie müssen auf die eine oder andere Weise in das Modul importiert werden, das sie verwendet.

+0

Vielen Dank. – Velidan

Verwandte Themen