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의 사용자 정의 하위 클래스를 제공할 수 있습니다. 헤더:
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 }]);
순환 종속성:
필요한 종속성을 삽입하면 때때로 순환 종속성이 발생할 수 있습니다. 이 문제를 해결하려면 인젝터를 주입하고 이를 통해 종속성을 검색할 수 있습니다.
constructor(injector: Injector) { this.myDep = injector.get(MyDependency); }
APP_INITIALIZER를 사용한 지연 초기화:
종속성에 추가 초기화가 필요한 시나리오의 경우 애플리케이션이 시작되기 전에 APP_INITIALIZER 공급자를 활용할 수 있습니다. 초기화 함수에서 반환된 Promise가 해결될 때까지 초기화 및 부트스트래핑을 지연합니다.
관련 접근 방식:
대체 접근 방식은 CONFIG 토큰을 사용하여 구성 데이터를 전달하는 것입니다. 부트스트래핑 중. 그러나 이 방법은 애플리케이션 코드 내에 구성이 있어야 하기 때문에 위에 설명된 방법만큼 유연하지 않습니다.
위 내용은 백엔드 매개변수를 사용하여 Angular 2 앱을 어떻게 부트스트랩할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!