수색…


소개

이 포스트에서는 앱이 부트 스트랩되기 전에 앵귤러 앱에 외부 데이터를 전달하는 방법을 보여줄 것입니다. 이 외부 데이터는 구성 데이터, 레거시 데이터, 서버 렌더링 등일 수 있습니다.

의존성 주입을 통해

Angular의 부트 스트랩 코드를 직접 호출하는 대신 부트 스트랩 코드를 함수로 래핑하고 함수를 내 보냅니다. 이 함수는 매개 변수를 받아 들일 수도 있습니다.

import { platformBrowserDynamic } from "@angular/platform-browser-dynamic";
import { AppModule } from "./src/app";
export function runAngular2App(legacyModel: any) {
       platformBrowserDynamic([
           { provide: "legacyModel", useValue: model }
       ]).bootstrapModule(AppModule)
       .then(success => console.log("Ng2 Bootstrap success"))
       .catch(err => console.error(err));
}

그런 다음 서비스 또는 구성 요소에서 "레거시 모델"을 주입하고 액세스 할 수 있습니다.

import { Injectable } from "@angular/core";
@Injectable()
export class MyService {
   constructor(@Inject("legacyModel") private legacyModel) {
      console.log("Legacy data — ", legacyModel);
    }
 }

앱을 요구하고 실행하십시오.

require(["myAngular2App"], function(app) {
   app.runAngular2App(legacyModel); // Input to your APP
});


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow