初始化 Angular 2 應用程式時,提供必要的配置參數至關重要。在後端產生這些參數的場景中,需要在引導過程中傳遞它們。
要為所有請求設定 HTTP 標頭,您可以利用 Angular 的依賴注入機制。在main.ts 中,可以採用以下方法:
import { bootstrap } from '@angular/platform-browser-dynamic'; import { AppComponent } from './app.component.ts'; const headers = ... // Retrieve headers from the backend bootstrap(AppComponent, [{ provide: 'headers', useValue: headers }]);
在您的元件或服務中,您可以使用以下方式註入這些標頭:
class SomeComponentOrService { constructor(@Inject('headers') private headers) { } }
或者,您可以提供BaseRequestOptions的自訂子類,它封裝了必要的headers:
class MyRequestOptions extends BaseRequestOptions { constructor (private headers) { super(); } } const values = ... // Get headers from the backend const headers = new MyRequestOptions(values); bootstrap(AppComponent, [{ provide: BaseRequestOptions, useValue: headers }]);
循環依賴:
注入必要的依賴有時會導致循環依賴。要解決此問題,您可以注入Injector 並透過它檢索依賴項:
constructor(injector: Injector) { this.myDep = injector.get(MyDependency); }
使用APP_INITIALIZER 進行延遲初始化:
對於依賴項需要額外初始化的場景在應用程式啟動之前,您可以使用APP_INITIALIZER 提供者。它會延遲初始化和引導,直到初始化函數傳回的 Promise 解析為止。
相關方法:
另一種方法是使用 CONFIG 令牌傳遞配置資料在引導期間。但是,此方法不如上述方法靈活,因為它要求配置存在於應用程式的程式碼中。
以上是如何使用後端參數引導 Angular 2 應用程式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!