Angular 2 个全局组件
Angular 2 global component
我的结构如下:
App
*component, module, template*
Component 1
*component, module, template*
Component 11
*component, module, template*
Global Component
*component, temaplte, BUT NO MODULE*
我的 App 模块包含组件 1 和组件 11 模块。我在 app 模块中声明了全局组件,以便我可以在所有其他组件中使用它。我还在应用程序模块中导出了它。
但是当我在组件 11 模板中使用选择器时,控制台显示 not a known element
。
我尝试在我的其他组件中导入它,但它说它已经导入,我应该在更高的模块中导入它。
你能告诉我如何声明一个组件以便它可以在子模板中使用吗?
我假设 "global components" 在 angular 2 架构中是未知的。另见此处 ==> https://angular.io/docs/ts/latest/guide/architecture.html
根据经验,我知道如果在 app.module 级别导入组件(例如管道)可能会出现问题。例如,当使用管道执行此操作时,您会收到 "pipe not found" 错误。也许您的组件遇到了类似的问题。
所以我建议让您的组件成为模块的一部分,然后将您的模块导入 app.module 而不是组件。
要轻松使用不同模块中的组件,您可以做的一件事是为您的组件和 declare
在该模块中创建您的组件,并将它们添加到 exports
模块的数组,然后每当你想使用组件时,只需 import
你想要使用组件的模块中的那个模块。
我的结构如下:
App
*component, module, template*
Component 1
*component, module, template*
Component 11
*component, module, template*
Global Component
*component, temaplte, BUT NO MODULE*
我的 App 模块包含组件 1 和组件 11 模块。我在 app 模块中声明了全局组件,以便我可以在所有其他组件中使用它。我还在应用程序模块中导出了它。
但是当我在组件 11 模板中使用选择器时,控制台显示 not a known element
。
我尝试在我的其他组件中导入它,但它说它已经导入,我应该在更高的模块中导入它。
你能告诉我如何声明一个组件以便它可以在子模板中使用吗?
我假设 "global components" 在 angular 2 架构中是未知的。另见此处 ==> https://angular.io/docs/ts/latest/guide/architecture.html
根据经验,我知道如果在 app.module 级别导入组件(例如管道)可能会出现问题。例如,当使用管道执行此操作时,您会收到 "pipe not found" 错误。也许您的组件遇到了类似的问题。
所以我建议让您的组件成为模块的一部分,然后将您的模块导入 app.module 而不是组件。
要轻松使用不同模块中的组件,您可以做的一件事是为您的组件和 declare
在该模块中创建您的组件,并将它们添加到 exports
模块的数组,然后每当你想使用组件时,只需 import
你想要使用组件的模块中的那个模块。