Понизить компонент маршрута Angular

Немного странный вопрос. У меня есть массивная директива 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 будут работать на маршруте.


person Oz Lodriguez    schedule 19.04.2019    source источник


Ответы (1)


После некоторого копания это никогда не сработает. В итоге я просто обновил директиву с помощью класса UpgradeComponent: https://angular.io/api/upgrade/static/UpgradeComponent является то, что он добавляет много шаблонов, создавая оболочку.

person Oz Lodriguez    schedule 20.04.2019