我的结构如下:
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
.
我的其他组件中,但它说它已经导入,我应该将其导入到更高的模块中。
你能告诉我如何声明一个组件,以便它可以在子模板中使用吗?
我假设"全局组件"在 angular 2 架构中是未知的。另请参阅此处 ==> https://angular.io/docs/ts/latest/guide/architecture.html
根据经验,我知道如果在app.module级别导入组件(例如管道),则可能会出现问题。例如,使用管道执行此操作时,会出现"找不到管道"错误。也许您的组件遇到了类似的问题。
因此,我建议将组件作为模块的一部分,然后将模块导入到app.module而不是组件中。
为了在不同模块中轻松使用组件,您可以做的一件事是为组件创建一个模块,并在该模块中declare
组件,并将它们添加到模块的exports
数组中,然后每当您想使用组件时,只需在要使用的组件的模块中import
该模块。