В настоящее время я изучаю путь обновления довольно крупного приложения AngularJS 1.6 до Angular 6. У меня есть загрузочная версия моего приложения в виде гибридного приложения, и я начал преобразовывать отдельные модули и компоненты.Я должен быть в состоянии сделать миграцию кусками, хотя.Было бы хорошо, если бы я мог мигрировать модуль за раз, но у меня возникают некоторые проблемы с этой целью.
У меня есть директива NavBar
, которая находится в моем модуле core
AngularJS.Этот компонент понижен до downgradeComponent
и зарегистрирован в модуле AngularJS core
.Модуль landing
AngularJS зависит от модуля core
, поэтому он может использовать NavBar
.Это прекрасно работает, потому что LandingComponent
также был преобразован в Angular6 и понижен до версии и зарегистрирован на модуле landing
AngularJS.
Существует проблема с использованием компонента NavBar
внутри любого другогоКомпонент AngularJS, хотя.У меня есть третий модуль AngularJS под названием workflows
с компонентом ViewWorkflows
, который имеет NavBar
внутри своего шаблона.Когда я перехожу к этому компоненту, я получаю следующую ошибку:
angular.js:14791 Error: No component factory found for NavBarDirective. Did you add it to @NgModule.entryComponents?
Я могу исправить это путем преобразования, а затем понижения ViewWorkflows
, но поскольку NavBar
регистрируется какпониженный компонент AngularJS, не должен ли какой-либо модуль AngularJS, который объявляет зависимость от модуля core
, иметь к нему доступ?
Код (не запускается)
РедактироватьЯ обновил суть, чтобы быть немного более простым.Модуль landing
является угловым, с угловым компонентом <landing>
, который понижен для работы на модуле AngularJS landing
и имеет внутри <t-nav-bar>
.Он зависит от модуля core
, который предоставляет пониженную директиву <t-nav-bar>
.Компонент <test>
является компонентом AngularJS, зарегистрированным в модуле AngularJS landing
, который не может использовать <t-nav-bar>
.Даже не вводя модуль workflows
в ситуацию, он не работает.Что я делаю не так?