在顶层模块声明 Angular2 组件并在低层模块使用

declare Angular2 component at top level module and use at lower level modules

我正在使用 Angular2 最终版本开发 Angular2 应用程序。

这是我的应用场景。我有一个组件,我想在两个不同级别的两个不同模块中使用相同的组件。

如果我在 FeatureModule 中声明它并使用它,它就可以工作。我还没有尝试过,但如果我从 FeatureModule 导出它,那么它也可以在主模块中工作。

但是我设计的组件不是特定于功能的。所以在 FeatureModule 级别声明它然后传播到其他级别似乎不正确。我认为在 AppModule 级别或 MainModule 级别声明并在 MainModule 和 FeatureModule 级别使用它会更合适。但这不起作用。它抛出以下错误。

如果 'xxxx' 是一个 Angular 组件,则验证它是该模块的一部分。

有什么想法,如何实现?

我建议在 AppModule 的引导程序中声明它。然后你就可以在整个应用程序中使用它了。

您可以将您的组件放在一个单独的模块中,然后让 Main 和 Feature 模块导入它。