Угловой селектор не является известным элементом: если это угловой компонент, то убедитесь, что он является частью этого модуля

#angular #ivy

Вопрос:

Я создал компонент и попытался использовать его в другом компоненте, объявив селектор в части отображения.

 <app-component1></app-component1>
 

Но я получаю ошибку компиляции. Я проверил импорт в модулях, все в порядке, ошибок нет. Не могу понять, в чем причина, по которой я не могу использовать компонент?
Вот пример моего приложения stackblitz.

https://stackblitz.com/edit/angular-ivy-uve2pn?file=src/app/app.module.ts

Ответ №1:

Может быть, в модуле, который вы импортируете, нет экспорта для компонента, который вы ищете?

Когда у вас, например, есть компонент, скажем, компонент в модуле A, чтобы использовать компонент в другом модуле, вам нужно иметь модуль A

 declarations: [ComponentA]
exports: [ComponentA]
 

Комментарии:

1. Я исправил ваш код, у вас была циклическая зависимость между AppModule и Page1Module, убедитесь, что вы импортируете свои модули только при необходимости без дополнительных зависимостей, для лучшего решения используйте маршруты ленивой загрузки — angular.io/guide/lazy-loading-ngmodules

Ответ №2:

Я исправил код, преобразовав модули в обычные компоненты и объявив их в блоках «объявления» и «экспорт» в приложении.модуль