如何全局访问根Angular 2注入器的实例(例如,从浏览器控制台).
在Angular 1中,它是angular.element(document).injector().
它在测试和探索过程中非常有用,可以使用浏览器控制台获取注入器,然后访问不同组件,指令,服务等的实例.
您必须在引导应用程序后将其设置为服务:
export var applicationInjector: Injector; bootstrap([AppComponent]).then((componentRef: ComponentRef) => { applicationInjector = componentRef.injector; });
然后,您可以将其导入应用程序的其他部分:
import {applicationInjector} from './bootstrap';
有关详细信息,请参阅此问题:
> Good way to secure multiple Angular 2 components
编辑
您可以将ApplicationRef注入组件并通过它访问根注入器:
@Component({ (...) }) export class SomeComponent { constructor(private app:ApplicationRef) { var rootInjector = app.injector; } }
您需要利用依赖注入来获取它.