如何将窗口注入服务?

新手上路,请多包涵

我正在使用 TypeScript 编写一个 Angular 2 服务,它将使用 localstorage 。我想在我的服务中注入对浏览器 window 对象的引用,因为我不想引用任何全局变量,如 Angular 1.x $window

我怎么做?

原文由 lokanx 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 735
1 个回答

在你的模块中声明一个提供者:

   providers: [
    { provide: Window, useValue: window }
  ]

到组件或服务中,注入:

 constructor(private window: Window)

您可以访问属性:

 console.log(this.window.document);

或者创造新的价值:

 (<any>this.window).MyNewValue = 'John Doe' ;

原文由 Andre Mesquita 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进