gpt4 book ai didi

angular - Angular 2 中的依赖注入(inject)在使用内联注入(inject)器和构造函数注入(inject)时创建多个实例

转载 作者:太空狗 更新时间:2023-10-29 17:15:29 25 4
gpt4 key购买 nike

我正在处理一个 Ionic 2 TypeScript 项目。在应用程序启动期间,我通过构造函数注入(inject)服务。

@App({
providers: [ MyService ]
})
export class MyApp {
constructor( private instance1 : MyService ){}
}

在另一个类(class)我用

let injector = Injector.resolveAndCreate ( [ MyService ] );
let instance2 = injector .get( MyService );

我得到了变量 instance1 和 instance2 的两个不同实例。

是否有任何可能的方法通过使用内联注入(inject)器和构造器将它们作为一个实例

最佳答案

“单例”按提供者实例进行维护。如果您创建一个新的 Injector(这就是 Injector.resolveAndCreate ( [ MyService ] ); 所做的,那么它也有自己的提供程序实例。因此行为是预期的。

您可以将 Injector 注入(inject)到您的组件和服务中,并创建一个可以按预期工作的子注入(inject)器。

如果您需要一个无法注入(inject) Angular 注入(inject)器的注入(inject)器,此评论中有一个解决方法(使用 Plunker)https://github.com/angular/angular/issues/4112#issuecomment-153811572

关于angular - Angular 2 中的依赖注入(inject)在使用内联注入(inject)器和构造函数注入(inject)时创建多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37208918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com