【发布时间】:2018-02-13 03:20:16
【问题描述】:
假设我有一个组件类如下;
@Component({
selector: "my",
templateUrl: "/app/my.html"
})
export class MyComponent extends MyBase {
helper: Helper;
constructor()
{
helper = new Helper(this);
}
}
Helper 类位于另一个类似的文件中。
export class Helper {
constructor(protected component: MyBase)
{
}
}
看起来我无论如何都不能对我的助手类使用依赖注入,因为它存储了对组件的引用。我认为完成这项工作的唯一方法是保持原样或在注入后设置组件实例,如下所示,我也不喜欢。
export class MyComponent extends MyBase {
constructor(public helper:Helper)
{
helper.component = this;
}
}
Helper 类位于另一个类似的文件中。
@Injectable()
export class Helper {
public component : MyBase;
}
这两个都感觉不对,但我没有看到合理的选择。
【问题讨论】:
标签: angularjs typescript dependency-injection