我正在使用打字稿处理离子 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){}
如果有人偶然发现了这个问题,那么您可以通过在 app.module.ts 中的提供程序数组中声明它来制作可注入的单例。这将在整个应用中维护单个实例。只要您有延迟加载的模块并在该延迟加载模块的提供程序中声明您的可注入模块,您就会创建该可注入的多个实例。