加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

角度 – 存储用于组件的注射器实例

发布时间:2020-12-17 09:29:27 所属栏目:安全 来源:网络整理
导读:在RC5之前,我正在使用像注射器这样的服务定位器: Startup.ts bootstrap(...).then((appRef: any) = { ServiceLocator.injector = appRef.injector;}); ServiceLocator.ts export class ServiceLocator { static injector: Injector;} 组件: let myServiceI
在RC5之前,我正在使用像注射器这样的服务定位器:

Startup.ts

bootstrap(...)
.then((appRef: any) => {
    ServiceLocator.injector = appRef.injector;
});

ServiceLocator.ts

export class ServiceLocator {
    static injector: Injector;
}

组件:

let myServiceInstance = <MyService>ServiceLocator.injector.get(MyService)

现在在bootstrapModule()中做同样的事情then()不起作用,因为组件似乎在承诺之前开始执行.

在组件加载之前有没有办法存储注入器实例?

我不想使用构造函数注入,因为我使用由许多组件导出的基本组件中的注入器,而不是将注入器注入到所有组件中.

我已经设法使用手动吹嘘.不要在@NgModule中使用“bootstrap:[AppComponent]”声明,而是使用ngDoBootstrap方法:
export class AppModule {
    constructor(private injector: Injector) {
    }

    ngDoBootstrap(applicationRef: ApplicationRef) {
        ServiceLocator.injector = this.injector;
        applicationRef.bootstrap(AppComponent);
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读