【发布时间】:2017-11-11 23:22:48
【问题描述】:
我正在使用 typescript 开发 ionic 3 和 Angular 4,但我对需要做什么感到困惑。
让我先介绍一下我所拥有的:
我有一个具有private static _instance: ClassName 属性的类。
这是构造函数:private constructor(private platform: Platform, private file: File){}
然后我有一个静态获取实例属性
static get instance() {
if(!ClassName._instance){
ClassName._instance = new ClassName();
}
return ClassName._instance;
}
现在我的问题是,由于平台和文件服务被注入到类的构造函数中,因此在 get instance() 中不允许进行新操作。我该如何继续创建新实例或解决此问题?如果我将喷油器设为可选,可能会出现什么情况?
constructor(private platform?: Platform, private file?: File){}
【问题讨论】:
-
我可以只使用导入中的引用而不注入构造函数吗?
-
我还没有机会尝试,但我很确定“价值提供者”就是您要寻找的 angular.io/docs/ts/latest/guide/…
-
你不能真正对像这样的全局静态单例使用依赖注入。你的目标是什么?为什么这必须是全局静态单例?
标签: angular typescript dependency-injection ionic2 singleton