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 你想要使用组件的模块中的那个模块。