Я только что установил гибридное приложение AngularJS / Angular 5 с downgradeModule.Я преобразовал очень маленький компонент из AngularJS в Angular, но он никогда не создается.Я поместил console.logs по всему компоненту, чтобы увидеть, если определенные биты вызываются, а другие нет.Файл загружен, но компонент никогда не загружается.
Я прочитал то, что похоже на сотни учебников, но я должен что-то упустить.
Обратите внимание, что я дошел до преобразования компонента, понялон не создавался, потом перестал переносить остальные.Следовательно, почему driverImage
в данный момент отсутствует на преобразованном компоненте.
Вот стэкблитц с тестовым компонентом, который показывает, что он не работает https://angularjs -q1vrpe.stackblitz.io /
Bootstrap
import * as angular from "angular";
import { downgradeModule } from "@angular/upgrade/static";
import { platformBrowserDynamic } from "@angular/platform-browser-dynamic";
import { StaticProvider } from "@angular/core";
import { MainAngularModule } from "./app.module";
import "./index.module";
const bootstrapFn = (extraProviders: StaticProvider[]) => {
console.log("1"); <--- never output!
const platformRef = platformBrowserDynamic(extraProviders);
return platformRef.bootstrapModule(MainAngularModule);
};
const downgradedModule = downgradeModule(bootstrapFn);
angular.module('angularJsModule', ['myApp', downgradedModule]);
angular.bootstrap(document, ['angularJsModule']);
App.Module (MainAngularModule)
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { UpgradeModule } from '@angular/upgrade/static';
@NgModule({
imports: [
BrowserModule,
UpgradeModule
],
declarations: [Ng2TestComponent, DriverImageComponent],
entryComponents: [Ng2TestComponent, DriverImageComponent]
})
export class MainAngularModule {
// Empty placeholder method to satisfy the `Compiler`.
ngDoBootstrap() { }
}
index.module (Для краткости удалено большинство зависимостей)
angular
.module("myApp", [
"constants",
"ngMaterial",
"ngSanitize", ... ]);
Вновь преобразованный компонент:
import { Component, Input, OnInit, OnChanges } from '@angular/core';
import { IDriver } from "../interfaces/IDriver";
console.log("here"); // --> This is hit
@Component({
selector: "driver-image",
template: `<div class="driver-image" ng-style="{'background-image' : 'url('+$ctrl.driverImage+')'}"></div>`
})
export class DriverImageComponent implements OnInit, OnChanges {
@Input() driver: IDriver;
@Input() small: boolean;
constructor() {
console.log("1"); // --- Not hit
}
ngOnInit() {
console.log("ONINITNINTT"); // --> Not hit
}
ngOnChanges() { }
}
Связанные modules.ts
import { downgradeComponent } from "@angular/upgrade/static";
...
.component("driverImage", downgradeComponent({ component: DriverImageComponent }))