AppInjector get 已弃用,请使用 Type 或 InjectionToken

2024-03-09

我试图摆脱这个 tslint 警告:

警告:get 已被弃用:从 v4.0.0 开始使用 Type 或 注入令牌

我的代码设置方式是这样的:

应用程序注入器.ts

import { Injector } from '@angular/core';

export let AppInjector: Injector;

export function setAppInjector(injector: Injector) {
    if (AppInjector) {
        // Should not happen
        console.error('Error: AppInjector was already set');
    }
    else {
        AppInjector = injector;
    }
}

应用程序模块.ts

...
import { setAppInjector } from './app-injector';
...

export class AppModule {
    constructor(private injector: Injector) {
        setAppInjector(injector);
    }
}

某些组件.组件.ts

...
import { Router } from '@angular/router';
import { AppInjector } from '../../app-injector';
...

export class SomeComponent {
    private router = AppInjector.get(Router);

    constructor() { /* code here */ }
}

我做不到private router: Router在构造函数内部somecomponent.component.ts,这就是为什么我这样做(这是要求,我无法更改它)。

所以我的主要问题是如何更改线路private router = AppInjector.get(Router)摆脱警告?任何帮助将不胜感激,谢谢!


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AppInjector get 已弃用,请使用 Type 或 InjectionToken 的相关文章

随机推荐