#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:
Я исправил код, преобразовав модули в обычные компоненты и объявив их в блоках «объявления» и «экспорт» в приложении.модуль