【发布时间】:2018-04-14 19:40:27
【问题描述】:
我的 Angular2 RC6 应用程序有两个模块,我不确定如何声明共享组件。
我有一个在整个应用程序中使用的名为 spinnerComponent 的组件。我在 app.modules.as 中定义了它:
@NgModule({
imports: [BrowserModule, routing,RepairReturnModule],
providers: [ ],
declarations: [AppComponent,SpinnerComponent],
bootstrap: [AppComponent]
})
然后在 RepairreturnModule 中我再次将其定义为:
@NgModule({
imports: [CommonModule],
declarations: [
SpinnerComponent
],
providers: []
})
不出所料,我得到:
类型 SpinnerComponent 是 2 个模块声明的一部分: RepairReturnModule 和 AppModule
我从 RepairreturnModule 的声明中删除了 SpinnerComponent,然后我得到:
未处理的 Promise 拒绝:模板解析错误:无法绑定到 'isRunning' 因为它不是 'spinner-component' 的已知属性。 1. 如果 'spinner-component' 是一个 Angular 组件并且它有 'isRunning' 输入,那么验证它是这个模块的一部分。 2. 如果 'spinner-component' 是一个 Web 组件,则将 "CUSTOM_ELEMENTS_SCHEMA" 添加到该组件的 '@NgModule.schema' 压制此消息。 ...这表明它没有被声明。
我错过了什么?
【问题讨论】:
-
你有没有试过把 SpinnerComponent 放在它自己的模块中,然后将 那个 模块导入到另外两个模块中?
-
我建议创建一个包含 SpinnerComponent 的共享模块。在两个模块中导入此模块。
标签: angular