Angular 2全局组件

时间:2017-01-02 10:55:11

标签: angular angular2-components angular2-modules

我的结构如下:

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

My App模块包含组件1和组件11模块。我在app模块中声明了全局组件,以便我可以在所有其他组件中使用它。我也将它导出到app模块中。

但是当我在组件11模板中使用选择器时,控制台会显示not a known element

我尝试在其他组件中导入它,但它说它已经导入了,我应该在更高的模块中导入它。

您能告诉我如何声明组件以便可以在子模板中使用它吗?

2 个答案:

答案 0 :(得分:2)

我假设"全球组件"在角度2架构中不为人所知。另见这里==> https://angular.io/docs/ts/latest/guide/architecture.html

根据经验,我知道如果在app.module级别导入组件(例如管道),则可能会出现问题。例如,当使用管道执行此操作时,您会找到未找到的管道"错误。也许你的组件遇到了类似的问题。

因此我建议您将组件作为模块的一部分,然后在app.module而不是组件中导入模块。

答案 1 :(得分:0)

您可以轻松地在不同模块中使用组件的一件事是为您的组件创建一个模块,然后在该模块中declare创建您的组件,然后每当您要使用该组件时( s),只需import您要使用组件的模块中的那个模块。