Angular 2
Angular2 biedt externe gegevens aan de app vóór het opstarten
Zoeken…
Invoering
In dit bericht zal ik demonstreren hoe externe gegevens naar de Angular-app kunnen worden doorgestuurd voordat de app opstart. Deze externe gegevens kunnen configuratiegegevens, verouderde gegevens, door de server weergegeven enz. Zijn.
Via afhankelijkheid injectie
In plaats van de bootstrap-code van de Angular rechtstreeks op te roepen, verpakt u de bootstrap-code in een functie en exporteert u de functie. Deze functie kan ook parameters accepteren.
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));
}
Vervolgens kunnen we in alle services of componenten het 'legacy-model' injecteren en er toegang toe krijgen.
import { Injectable } from "@angular/core";
@Injectable()
export class MyService {
constructor(@Inject("legacyModel") private legacyModel) {
console.log("Legacy data — ", legacyModel);
}
}
Vereis de app en voer deze vervolgens uit.
require(["myAngular2App"], function(app) {
app.runAngular2App(legacyModel); // Input to your APP
});
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow