Угловых 2 'компонент' не является известным элементом


Я пытаюсь использовать компонент я создал внутри модуль в других модулях. Я получаю следующую ошибку, хотя:

" Uncaught (in promise): Error: Template parse errors:

'contacts-box' не является известным элементом:

  1. если 'contacts-box' является угловым компонентом, то убедитесь, что он является частью этого модуля.
  2. если 'contacts-box' является веб-компонентом, то добавьте 'CUSTOM_ELEMENTS_SCHEMA' к '@NgModule.схемы этого компонента для подавления этого сообщения.

моя структура проекта довольно проста:

Я храню свои страницы в каталоге страниц, где каждая страница хранится в другом модуле (например, customers-module), и каждый модуль имеет несколько компонентов (например, customers-list-component, customers-add-component и т. д.). Я хочу использовать мой ContactBoxComponent внутри этих компонентов (так что внутри customers-add-component для образец.)

Как вы видите я создал контакты-компонент внутри каталога виджетов, так что это в основном внутри модуль. Я добавил ContactBoxComponent импорт в приложение.модуль.ТС и положить его в объявления список модуль. Это не сработало, поэтому я погуглил свою проблему и добавил ContactBoxComponent в список экспорта. Это не помогло. Я также попытался поместить ContactBoxComponent в CustomersAddComponent, а затем в другой (из другого модуля), но я получил сообщение об ошибке существует несколько объявлений.

чего мне не хватает?

3 54

3 ответа:

Это 5 шагов, которые я выполняю, когда я получил такую ошибку.

  • - вы уверены, что название правильное? (также проверьте селектор, определенный в компоненте)
  • объявить компонент в модуле?
  • если она находится в другом модуле, экспортировать компонент?
  • если она находится в другом модуле, импортировать этот модуль?
  • перезагрузка командной строки?

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

вы не можете объявить два компонента.

У меня была точно такая же проблема. Прежде чем попробовать некоторые из решений, опубликованных здесь, вы можете проверить, является ли компонент действительно не работает. Для меня ошибка была показана в моей IDE (WebStorm), но оказалось, что код отлично работал, когда я запускал его в браузере.

после того, как я выключил терминал (который запускал ng serve) и перезапустил мою IDE, сообщение перестало отображаться.

У меня такая же проблема ширина php storm версии 2017.3. Это исправить это для меня: форум поддержки intellij

Это была ошибка width @angular language service: https://www.npmjs.com/package/@angular/language-service