dependency-injection - 在调用 bootstrap() 之前如何访问 angular2 的 Http 服务?

标签 dependency-injection angular angular2-services

我需要弄清楚用户是否经过身份验证,以便在引导根组件时将用户转发到 /signin 或加载他们请求的任何页面。 (如果服务需要在发出任何请求之前登录,我计划通过使用 bool 值注入(inject)服务来做到这一点)。

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

最佳答案

在引导之前,http 模块未注册为有效的提供者,因此您不能使用 DI 来实例化它。

有可能你可以通过导入 Http 找到一种手动实例化它的方法并执行

var http = new Http(..)

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

为了保持简单,我的建议是使用其他一些简单的 http 实现(如 jquery 等)进行 Angular 前检查

关于dependency-injection - 在调用 bootstrap() 之前如何访问 angular2 的 Http 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34646957/

相关文章:

c# - 如何避免循环依赖 : DAL. DbContext.DbSet<BLL.Model>

Spring:如何使用非setter方法注入(inject)属性?

angular - 谷歌 AdWords 与 Angular 5

Angular2 注入(inject)的自定义服务未定义

angular - HTTP 请求 + ngFor 遇到问题

angular - 如何在angular2中等待用户点击事件?

php - 工厂中的依赖注入(inject)

java - 无法注入(inject) javax.mail.Session,jboss 7.1.1

Angular2-http ://localhost:4200/being appended with api call why?

html - 在固定的全屏菜单 CSS 中滚动