Ich habe eine Bibliothek mit dem Namen foo
, die eine Winkelkomponente namens enthält FooContentComponent
, die verschiedenen Arten von Inhalten macht:Render-Komponenten ohne explizite Abhängigkeit in ngModule
<ng-container *ngFor="let item of contents">
<ng-container *ngIf="item.type === 'text'">{{item.text}}</ng-container>
<ng-container *ngIf="item.type === 'math'">
<foo-math [formula]="item.formula"></foo-math>
</ng-continer>
</ng-container>
Die FooContentComponent
hat seine eigenen ngModule
. In ähnlicher Weise lebt auch die FooMathComponent
in ihrer eigenen .
Hier ist das Problem: i nicht wollen die FooMathModule
im FooContentModule
ausdrücklich importieren. Stattdessen möchte ich es der Anwendung überlassen, die foo
-Bibliothek zu verwenden, um die FooMathModule
einzuschließen, wenn die Anwendung mathematischen Inhalt rendern möchte. Wenn die Anwendung keine mathematischen Inhalte rendern möchte, importiert sie das FooMathModule
nicht in ihrem App-Modul.
Wenn ich die FooMathModule
innerhalb FooContentModule
nicht importiere, erhalte ich einen Fehler vom Compiler, den es foo-math
nicht kennt. Ich kann den Fehler loswerden, indem ich ein benutzerdefiniertes Schema in FooContentModule
festlege, aber dann wird es immer noch nicht FooMathComponent
rendern.
Kann ich das tun?
können Sie das tun, da die FooMathComponent eine deklarative sein muss für Ihr Hauptmodul. – Aravind