Ссылочная иерархия в компонентах угловой библиотеки - PullRequest
0 голосов
/ 26 мая 2019

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

Project
|--Components
-----|lib
-------Text-box
-------Button
-------Select
-------Check-Box
-------Radio-Button
|Component.Module.ts    //all components declare and export here

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

-------Grid
---------Columns
---------Directives
---------Modal
---------Filters
---------Table-Module

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

Uncaught Error: Type ButtonComponent является частью объявлений 2 модулей: ComponentsModule и TableModule!Пожалуйста, рассмотрите возможность перемещения ButtonComponent в модуль более высокого уровня, который импортирует ComponentsModule и TableModule.Вы также можете создать новый NgModule, который экспортирует и включает ButtonComponent, а затем импортировать этот NgModule в ComponentsModule и TableModule.

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

Base-Component.Module    // contain text-box, button, label, ...
Grid-Module              // contain grid module, and import/export base component
Component.Module         // import Base-Component.Module & Grid-Module 

Мне не нравится это, потому что они слипаются и основной модуль видит компонент через Grid-модуль,

Любое предложение по их разделению будет оценено.

1 Ответ

0 голосов
/ 26 мая 2019

Удалить ButtonComponent из объявлений в TableModule. Поскольку один компонент не может быть объявлен несколькими модулями одновременно.

...