Ich versuche AOT Compilation Setup mit angular-cli zu bekommen. Ich habe eine Direktive, die von einer abstrakten Klasse erbt, und ich bekomme einen Fehler während der Kompilierung, dass angular nicht bestimmen kann, zu welchem Modul die abstrakte Klasse gehört. Ich kann es nicht zum Deklarations-Array des NgModules hinzufügen, also was ist der richtige Weg? Meine Code-Struktur sieht so aus,
%Vor%Fehler sieht so aus
%Vor%Mein AppModul:
%Vor%Ok nach dem Debuggen, wenn ich es nicht abstrakt mache und es den Deklarationen hinzufüge, funktioniert es. Bedeutet das, dass ich eine Klasse nicht als abstrakt markieren kann? Das scheint nicht richtig zu sein ...
Ja. Es ist wahr, dass wenn Sie eine abstrakte Klasse erstellen und versuchen, sie als einen Direktiven-Controller zu verwenden, wird es nicht funktionieren. Der Grund dafür ist hier im Dokumentation
Hervorgehobener Teil der Dokumentation wie folgt:
Wenn Sie eine Direktive erstellen, erstellt das Angular eine neue Instanz der Controller-Klasse der Direktive . Wenn Sie eine abstrakte Klasse verwenden, können Sie keine Instanz dafür haben, und daher schlägt sie in Ihrem Fall fehl
Tags und Links angular angular-cli