Объявление компонента в модулях
Здравствуйте уважаемые. Прошу помощи в объяснении одного феномена. :о) У меня есть приложение состоящее из нескольких модулей. Есть главный модуль приложения и несколько подчиненных. Типа такой структуры:
AppModule Submodule1 DeepModule1 Submodule2 Затеял я написать компонент, который будет применяться по всему приложению. Код компонента находится в папке: AppModule/Sare/Components/MyCoolComponent Теперь нужно задекларировать компонент. По идее, его надо заявить в модуле AppModule, который главный над всеми. Вот кусок кода: @NgModule({ imports: [ Submodule1, Submodule2 ], declarations: [ MyCoolComponent ], exports: [ MyCoolComponent ], }) При запуске проекта выдается ошибка: Uncaught Error: Template parse errors: 'my-cool-component' is not a known element: ..... Если перетащить объявление компонента в подчиненные модули, то все нормально. Но тогда получается, что компонент придется объявлять в каждом модуле, чего хотелось бы избежать. При этом, если объявить компонент в AppModule и в нижележащих, то выскакивает ошибка о повторном декларировании компонента. Подскажите пожалуйста, что я делаю не так, либо упускаю какую-то деталь или важный нюансик. |
sniffysko,
Вообще создают отдельный Shared модуль, в котором собирают компоненты/директивы/фильтры/модули которые будут использованы в других feature модулях. Об этом кстати в офф. документации написано https://angular.io/guide/sharing-ngmodules |
Часовой пояс GMT +3, время: 00:15. |