Angular 2
Angular2 fornisce dati esterni all'App prima del bootstrap
Ricerca…
introduzione
In questo post illustrerò come passare dati esterni all'app Angular prima dell'avvio dell'app. Questi dati esterni potrebbero essere dati di configurazione, dati legacy, server resi, ecc.
Via Iniezione di dipendenza
Invece di richiamare direttamente il codice bootstrap di Angular, avvolgere il codice bootstrap in una funzione ed esportare la funzione. Questa funzione può anche accettare parametri.
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));
}
Quindi, in qualsiasi servizio o componente, possiamo iniettare il "modello legacy" e accedervi.
import { Injectable } from "@angular/core";
@Injectable()
export class MyService {
constructor(@Inject("legacyModel") private legacyModel) {
console.log("Legacy data — ", legacyModel);
}
}
Richiedi l'app e poi eseguila.
require(["myAngular2App"], function(app) {
app.runAngular2App(legacyModel); // Input to your APP
});
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow