我有应该在子模块和父模块中使用的标头。已在父模块中导入和使用的标头,但是当尝试在子组件中导入和使用时显示错误。我的意思是如何对父子模块使用通用标头
未发现(承诺):错误:
HeaderComponent类型是2个模块的声明的一部分:AppModule和ProviderModule!请考虑将HeaderComponent移至导入AppModule和ProviderModule的更高模块。
您还可以创建一个新的NgModule,该导出并包含HeaderComponent,然后在AppModule和ProviderModule中导入该NgModule。
您应该使用要使用的组件创建共享模块,导出这些组件,并将共享模块导入其他模块(案例的父级和子级)中。
共享模块:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { SharedComponent1 } from "./SharedComponent1";
import { SharedComponent2 } from "./SharedComponent2";
@NgModule({
imports: [
CommonModule
],
declarations: [
SharedComponent1,
SharedComponent2
],
exports: [
SharedComponent1,
SharedComponent2
]
})
export class SharedModule {}
使用共享模块:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
...
import { SharedModule } from './SharedModule';
@NgModule({
imports: [
CommonModule,
...
SharedModule
],
declarations: [
...
],
providers: [
...
]
})
export class AppModule{}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句