我有一个Angular 2项目,结构如下:
/app
app.component.ts
app.module.ts
/shared
shared.module.ts
/layout
/utilities
utilities.module.ts
/icon
icon.component.ts
/message
message.module.ts
message.component.ts <----Problem here
在utilities.module.ts中,我导入图标组件,声明并导出它。
在共享模块中,我导入实用程序模块并将其导出。
在app模块中,我导入了共享模块。在我想要的应用程序组件中
使用我的图标组件,但我收到错误:'app-icon' is not a known element:
重新导出这样的模块/组件是否可行? 如果没有,是将实用程序模块直接导入应用程序模块的唯一选择吗?
编辑: 我注意到抱怨app-icon组件不可用的模块/组件/模板是消息组件。我试图将图标组件直接导入到消息组件中,但它仍然抱怨图标组件不可用。
答案 0 :(得分:0)
编辑:我注意到抱怨app-icon组件不可用的模块/组件/模板是消息组件。我试图将图标组件直接导入到消息组件中,但它仍然抱怨图标组件不可用。
组件/指令/管道不会从父模块继承,即MessageModule
没有通过AppModule
获得任何内容。 MessageModule
需要通过导入包含这些项的模块来提供对所需外部项的访问。所以你可能只需要imports: [ UtilitiesModule ]
进入MessageModule
,这样就不会引起错误。
如果MessageModule
中有UtilitiesModule
,则可能会导致circurlar依赖错误。我不确定。在这种情况下,您可能需要重组。