我创建了一个由多个其他组件共享的组件。我将通用组件声明为模块A,它工作正常。我在模块B中也做了同样的事情,我收到了这个错误。
类型PagerComponent是2个模块声明的一部分:ModuleA和ModuleB!请考虑将PagerComponent移动到导入ModuleA和ModuleB的更高模块。您还可以创建一个新的NgModule导出并包含PagerComponent,然后在ModuleA和ModuleB中导入该NgModule。
然后我创建了一个寻呼机模块(NgModule)。
import { NgModule } from '@angular/core';
import { PagerComponent } from '../shared/pager.component';
@NgModule({
imports: [
PagerComponent
]
})
export class PagerModule {}
然后我将这个新模块导入ModuleA和Module B.我收到错误:
Uncaught Error: Unexpected value 'undefined' imported by the module 'PagerModule'
这个错误并没有告诉我有什么问题。有任何想法吗?
答案 0 :(得分:1)
我看到了NgModule
声明的问题。
感谢NgModule
结构,您无法将NgModule
以外的任何内容传递到imports
字段。在您的情况下,您需要将PagerComponent
传递给模块的declarations
和exports
字段。
在declarations
中,您显然会声明您的组件,管道和指令。此外,您需要将这些内容传递到exports
部分,以使其成为可见的#34;对于目标模块中的其他组件
E.g。
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { PagerComponent } from '../shared/pager.component';
@NgModule({
imports: [ CommonModule ],
declarations: [ PagerComponent ],
exports: [ PagerComponent ]
})
export class PagerModule {}