2017-01-02 5 views
1

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

App 
    *component, module, template* 
    Component 1 
     *component, module, template* 
     Component 11 
      *component, module, template* 
    Global Component 
     *component, temaplte, BUT NO MODULE* 

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

Но когда я использую селектор в шаблоне компонента 11, консоль говорит not a known element.

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

Не могли бы вы рассказать мне, как объявить компонент, чтобы его можно было использовать в дочерних шаблонах?

+0

не могли бы вы выслать некоторые коды? по крайней мере, эти файлы модулей. –

+0

Можете ли вы проверить, экспортирует ли модуль компонента App компонент Global, а модуль модуля Component 11 импортирует модуль компонента приложения? – Davy

+0

Извините, @ 5313M, я не могу, стек говорит, что у меня проблема с отступом в моем коде, хотя у меня явно нет его (мой код имеет 4 пробела) – trichetriche

ответ

2

Я бы предположил, что «глобальные компоненты» не известны в угловой архитектуре 2. См. Также здесь ==>https://angular.io/docs/ts/latest/guide/architecture.html

Из опыта Я знаю, что это может быть проблемой, если компоненты (например, трубы) импортируются на уровне app.module. Когда вы делаете это с помощью трубы, например, вы получаете ошибку «pipe not found». Возможно, вы столкнулись с аналогичной проблемой с вашим компонентом.

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

+0

Извините за неправильное использование слов, но для меня это становится яснее. И дело в том, что я хочу, чтобы мой компонент использовался в нескольких модулях, возможно ли, если я только импортирую его в глубоком модуле вместо корневого модуля? – trichetriche

+2

Я думаю, вам было бы лучше, если бы вы представили «SharedModule» для таких глобальных компонентов (как предложил Карл) – Davy

+1

Я использовал «инструментальный модуль» по этой причине – Karl

Смежные вопросы