Немного странный вопрос. У меня есть массивная директива AngularJS, которую следует полностью переписать. Задача слишком велика, чтобы делать все сразу. Мне было интересно, есть ли способ понизить компонент маршрута в AngularX для загрузки в эту директиву AngularJS без его рефакторинга. Я не могу найти никаких подробностей об этом.
Понижение углового компонента позволяет мне использовать то, что называется проекциями, что эквивалентно включению AngularJS.
Я пробовал много подходов, но мой лучший вариант был следующим:
// component
@Component({
selector: "some-component",
templateUrl: "./some.component.html",
})
export class SomeComponent{}
// routes
{ path: "some-route", component: SomeComponent}
// downgrades
import { downgradeComponent } from "@angular/upgrade/static";
import {SomeComponent} from "./some-location"
angular.module("somemodule").directive(
"someComponent",
downgradeComponent({ component: SomeComponent })
)
Пока не повезло. Так как приложение довольно большое. Это сделало бы идеальные небольшие коммиты для работы с мигрированной системой. Если имена не совпадают. Приложение сломается, потому что не сможет найти имя директивы.
Если бы даунгрейд сработал, можно было бы ожидать, что компоненты angularjs будут работать на маршруте.