2017-02-17 10 views
1

В StackOverflow есть несколько сообщений, которые содержат более подробные сведения, чем документ Angular 2 о том, как включить пользовательский компонент в другой пользовательский компонент.Угловой 2: Невозможно включить компонент в другой

Однако, даже если я следую этим инструкциям (убедитесь, что введенный компонент находится в блоке модуля определения declarations, а также убедитесь, что вложенный блок находится в блоке определения directives), он все равно выдает ошибку:

Unhandled Promise rejection: Template parse errors: 
'test' is not a known element: 
1. If 'test' is an Angular component, then verify that it is part of this module. 
2. If 'test' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schemas' of this component to suppress this message. (" 
</footer> 

[ERROR ->]<test></test> 

Вы можете взглянуть на Github repo. Я начал a branch, где я попытаюсь понять это.

Что я мог забыть? Любые рекомендации приветствуются.

ответ

0

Они находятся в разных модулях. Поместите их в один модуль и перестройте проект.

+0

Я специально хочу, чтобы они были отдельными модулями для повторного использования и разделения проблем. – jansensan

0

В этом случае тестовый компонент должен использоваться как общий модуль, где вы пытаетесь использовать его как функциональный модуль, поскольку оба эти модуля независимы. Угловой не может найти модуль.

Либо поставьте оба компонента в одном модуле, либо используйте тестовый компонент как общий модуль.

+0

Да, я думаю, что это действительно общий модуль, который я пытаюсь построить. Однако я не могу понять, какие импорт/инъекции/декларации и т. Д. Требуются для такого рода материалов. Документация идет по всем направлениям, а не анализируется в объяснении одной вещи одновременно. В этом случае я бы поставил «TestModule» в блок «import» модуля с помощью введенного, но это все еще не удается. – jansensan

+0

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

+0

У меня есть 'TestModule ', но это не имеет значения, если я поместил это в блок' import', я все равно получаю сообщение об ошибке. – jansensan

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