In Angular2 initiiert die Bootstrap-Methode die Anwendung und akzeptiert eine Komponente zusammen mit einem optionalen Array von Anbietern. In diesem Artikel wird erläutert, wie vom Backend erhaltene Parameter an die Bootstrap-Methode übergeben werden.
Eine einfache Lösung ist die Verwendung der Abhängigkeitsinjektion von 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}]);
Innerhalb der Komponente oder des Dienstes, die die Header benötigt, können Sie sie mit @Inject einfügen decorator:
class SomeComponentOrService { constructor(@Inject('headers') private headers) {} }
Alternativ können Sie einen benutzerdefinierten BaseRequestOptions-Anbieter erstellen:
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}]);
Mit dieser Methode können Sie die geänderten Daten direkt bereitstellen Anfrageoptionen für die Bootstrap-Methode hinzufügen, was nützlich sein kann, wenn Sie mehr Kontrolle über die Anfrage benötigen Konfiguration.
In neueren Versionen von Angular (RC.5 und höher) können Sie das APP_INITIALIZER-Token verwenden, um eine Funktion auszuführen, die den Kontext initialisiert und darauf wartet, dass er zuvor aufgelöst wird die App-Bootstraps.
function loadContext(context: ContextService) { return () => context.load(); } @NgModule({ ... providers: [ ..., ContextService, { provide: APP_INITIALIZER, useFactory: loadContext, deps: [ContextService], multi: true } ], })
Dieser Ansatz bietet eine zentralisierte Möglichkeit, den Kontext zu initialisieren und den Anwendungsstart bis zum erforderlichen Zeitpunkt zu verzögern Daten sind verfügbar.
Durch die Nutzung dieser Techniken können Sie vom Backend gerenderte Parameter an die Angular2-Bootstrap-Methode übergeben und so diese Parameter während der Initialisierung der Anwendung in Komponenten und Dienste einfügen Phase.
Das obige ist der detaillierte Inhalt vonWie kann ich vom Backend gerenderte Parameter an die Angular 2 Bootstrap-Methode übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!