3

我的结构如下:

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 模块中声明了全局组件,以便可以在所有其他组件中使用它。我还在 app 模块中导出了它。

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

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

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

4

2 回答 2

3

我假设“全局组件”在 angular 2 架构中是未知的。参见这里==> https://angular.io/docs/ts/latest/guide/architecture.html

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

所以我建议让你的组件成为模块的一部分,然后将你的模块导入你的 app.module 而不是组件。

于 2017-01-02T11:07:58.180 回答
0

要轻松使用不同模块中的组件,您可以做的一件事是为您的组件和该模块中的组件创建一个模块,declare并将它们添加到exports模块的数组中,然后每当您想使用组件,就是import你想要使用组件的模块中的那个模块。

于 2019-07-01T19:08:42.817 回答