Angular 2
Angular2 proporciona datos externos a la aplicación antes de bootstrap
Buscar..
Introducción
En esta publicación, demostraré cómo pasar datos externos a la aplicación Angular antes de que la aplicación se inicie. Estos datos externos pueden ser datos de configuración, datos heredados, servidores renderizados, etc.
Vía de inyección de dependencia
En lugar de invocar directamente el código de inicio del Angular, envuelva el código de inicio en una función y exporte la función. Esta función también puede aceptar parámetros.
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));
}
Luego, en cualquier servicio o componente podemos inyectar el "modelo heredado" y obtener acceso a él.
import { Injectable } from "@angular/core";
@Injectable()
export class MyService {
constructor(@Inject("legacyModel") private legacyModel) {
console.log("Legacy data — ", legacyModel);
}
}
Requerir la aplicación y luego ejecutarlo.
require(["myAngular2App"], function(app) {
app.runAngular2App(legacyModel); // Input to your APP
});
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow