Angenommen, ich habe eine Komponentenklasse wie folgt;Wie kann ich der aktuellen Klasse mithilfe von AngularJs und TypeScript eine Abhängigkeit hinzufügen?
@Component({
selector: "my",
templateUrl: "/app/my.html"
})
export class MyComponent extends MyBase {
helper: Helper;
constructor()
{
helper = new Helper(this);
}
}
Die Helper-Klasse lebt in einer anderen Datei wie dieser.
export class Helper {
constructor(protected component: MyBase)
{
}
}
Es sieht aus wie ich nicht Dependency Injection für meine Hilfsklasse verwenden kann, egal was, da es einen Verweis auf die Komponente speichert. Das einzige, was ich sehe, um das zu machen, ist, es so zu belassen, wie es ist, oder indem ich die Komponenteninstanz nach der Injektion wie folgt einstelle, was ich auch nicht mag.
export class MyComponent extends MyBase {
constructor(public helper:Helper)
{
helper.component = this;
}
}
Die Helper-Klasse lebt in einer anderen Datei wie dieser.
Beide fühlen sich falsch an, aber ich sehe keine vernünftige Alternative.