Angular 2
Angular2 предоставляет внешние данные для приложения перед загрузкой
Поиск…
Вступление
В этом сообщении я продемонстрирую, как передавать внешние данные в приложение Angular перед загрузкой приложения. Это внешние данные могут быть данными конфигурации, устаревшими данными, обработанными серверами и т. Д.
Через инъекцию зависимости
Вместо того, чтобы напрямую ссылаться на код начальной загрузки Angular, оберните код начальной загрузки в функцию и экспортируйте функцию. Эта функция также может принимать параметры.
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));
}
Затем в любых сервисах или компонентах мы можем вводить «устаревшую модель» и получать к ней доступ.
import { Injectable } from "@angular/core";
@Injectable()
export class MyService {
constructor(@Inject("legacyModel") private legacyModel) {
console.log("Legacy data — ", legacyModel);
}
}
Требовать приложения, а затем запустить его.
require(["myAngular2App"], function(app) {
app.runAngular2App(legacyModel); // Input to your APP
});
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow