Maison >interface Web >js tutoriel >Comment puis-je transmettre les paramètres rendus par le backend à la méthode Bootstrap Angular2 ?
Passer les paramètres rendus par le backend à la méthode d'amorçage Angular2
Pour transmettre les arguments rendus sur le backend à la méthode d'amorçage Angular2, tirez parti de l'injection de dépendance d'Angular capacités. Voici comment y parvenir :
var headers = ... // Retrieve headers from the server bootstrap(AppComponent, [{ provide: 'headers', useValue: headers }]);
Cette approche vous permet d'injecter ces paramètres dans vos composants ou services Angular :
class SomeComponentOrService { constructor(@Inject('headers') private headers) {} }
Alternativement, vous pouvez directement fournir des BaseRequestOptions préparées comme suit :
class MyRequestOptions extends BaseRequestOptions { constructor(private headers) { super(); } } var values = ... // Fetch headers from the server var headers = new MyRequestOptions(values); bootstrap(AppComponent, [{ provide: BaseRequestOptions, useValue: headers }]);
Avec cette méthode, vous pouvez utiliser ces en-têtes dans votre application Angular en injectant BaseRequestOptions directement :
class ConfigService { constructor(private http: Http, @Inject(BaseRequestOptions) private baseRequestOptions) { } }
Remarque : Pour la compilation AoT, déplacez la fermeture de l'usine en dehors de la classe :
function loadContext(context: ContextService) { return () => context.load(); }
Et au sein du NgModule :
@NgModule({ ... providers: [ ..., ContextService, { provide: APP_INITIALIZER, useFactory: loadContext, deps: [ContextService], multi: true } ],For cyclic dependency issues, inject the Injector and retrieve the dependency:
ce .monDep = injector.get(MyDependency);
Instead of directly injecting `MyDependency`:
@Injectable()
export class ConfigService {
routeur privé : Routeur ;
constructeur (/ routeur privé : Routeur / injecteur : Injecteur) {
setTimeout(() => this.router = injector.get(Router));
}
}
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!