Angular2 では、ブートストラップ メソッドはアプリケーションを開始し、オプションのプロバイダーの配列とともにコンポーネントを受け入れます。この記事では、バックエンドから取得したパラメーターをブートストラップ メソッドに渡す方法について説明します。
簡単な解決策には、Angular の依存関係注入を使用することが含まれます。
import { bootstrap } from '@angular/platform-browser-dynamic'; import { AppComponent } from "./app.component.ts"; // Retrieve headers from the server var headers = ...; // Pass headers to bootstrap method using dependency injection bootstrap(AppComponent, [{provide: 'headers', useValue: headers}]);
ヘッダーを必要とするコンポーネントまたはサービス内で、 @Inject を使用してヘッダーを挿入できます。デコレーター:
class SomeComponentOrService { constructor(@Inject('headers') private headers) {} }
または、カスタム BaseRequestOptions プロバイダーを作成できます:
class MyRequestOptions extends BaseRequestOptions { constructor (private headers) { super(); } } // Retrieve header values from the server var values = ...; var headers = new MyRequestOptions(values); // Pass the custom request options to the bootstrap method bootstrap(AppComponent, [{provide: BaseRequestOptions, useValue: headers}]);
このメソッドを使用すると、変更されたブートストラップ メソッドへのリクエスト オプション。リクエストをより詳細に制御する必要がある場合に便利です。
Angular の最近のバージョン (RC.5 以降) では、APP_INITIALIZER トークンを使用して、コンテキストを初期化し、コンテキストが解決されるまで待機する関数を実行できます。
function loadContext(context: ContextService) { return () => context.load(); } @NgModule({ ... providers: [ ..., ContextService, { provide: APP_INITIALIZER, useFactory: loadContext, deps: [ContextService], multi: true } ], })
このアプローチは、初期化を集中的に行う方法を提供します。
これらのテクニックを活用することで、バックエンドからレンダリングされたパラメーターを Angular2 ブートストラップ メソッドに渡すことができ、これらのパラメータは、アプリケーションの初期化フェーズ中にコンポーネントとサービスに組み込まれます。
以上がバックエンドでレンダリングされたパラメーターを Angular 2 ブートストラップ メソッドに渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。