首页 >web前端 >js教程 >如何将后端渲染的参数传递给 Angular 2 Bootstrap 以设置 HTTP 标头?

如何将后端渲染的参数传递给 Angular 2 Bootstrap 以设置 HTTP 标头?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-06 09:01:10231浏览

How to Pass Backend-Rendered Parameters to Angular 2 Bootstrap for Setting HTTP Headers?

Angular2 使用依赖注入从后端引导参数

问题:

在 Angular2 中,如何后端渲染的参数可以传递给bootstrap方法来设置吗使用 BaseRequestOptions 的所有请求的 HTTP 标头?

解决方案:

利用 Angular 的依赖注入,可以将参数直接传递给 bootstrap 函数:

var headers = ... // retrieve headers from backend

bootstrap(AppComponent, [{provide: 'headers', useValue: headers})]);

要将标头注入到组件或服务中,请使用@Inject()装饰器:

class SomeComponentOrService {
   constructor(@Inject('headers') private headers) {}
}

或者,可以创建自定义请求选项类并直接注入:

class MyRequestOptions extends BaseRequestOptions {
  constructor (private headers) {
    super();
  }
} 

var values = ... // retrieve headers from backend
var headers = new MyRequestOptions(values);

bootstrap(AppComponent, [{provide: BaseRequestOptions, useValue: headers})]);

其他方法:

  • APP_INITIALIZER: 初始化服务在初始化应用程序之前从后端获取数据。这对于设置标头值很有用。
  • 构造函数注入: Angular 2 构造函数可用于初始化,而不是引导方法。
  • AoT (Ahead -of-Time Compilation): 需要进行一些修改才能与 AoT 配合使用,例如将工厂关闭移出
  • 注入器:如果发生循环依赖(例如注入路由器),则可以使用注入器来检索依赖关系,而不是直接注入。

以上是如何将后端渲染的参数传递给 Angular 2 Bootstrap 以设置 HTTP 标头?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn