【问题标题】:How can I access angular2's Http service before I call bootstrap()?在调用 bootstrap() 之前如何访问 angular2 的 Http 服务?
【发布时间】:2016-01-07 03:37:10
【问题描述】:

我需要确定用户是否经过身份验证,因此当引导根组件时,它会将用户转发到/signin 或加载他们请求的任何页面。 (如果需要在发出任何请求之前登录,我计划通过注入带有布尔值的服务来做到这一点)。

Angular 的文档提到了“Platform Injector”或“Root Injector”。我可以访问它以获取 Http 对象吗?或者它是在调用 bootstrap 时创建的,我需要从头开始创建自己的注入器来获取 Http?

【问题讨论】:

  • 你解决过这个问题吗?
  • @Thibs 不,我没有

标签: dependency-injection angular angular2-services


【解决方案1】:

在引导之前,http 模块没有注册为有效的提供者,所以你不能使用 DI 来实例化它。

有可能你可以找到一种方法来手动实例化它,通过导入Http并做

var http = new Http(..)

但您必须满足输入参数,我不确定是否建议在应用程序处于稳定引导状态之前尝试使用模块。

为了简单起见,我的建议是使用其他一些简单的 http 实现(如 jquery 等)进行预角度检查

【讨论】:

  • 我认为可以自己创建一个注入器并传递 HTTP_PROVIDERS 并从中请求 Http。
猜你喜欢
  • 2021-11-05
  • 2018-03-08
  • 1970-01-01
  • 2017-08-28
  • 2019-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多