错误:无法确定类的模块

时间:2018-06-11 03:23:18

标签: angular

我在模块A中的一个组件DialogComponent中使用了一个指令DialogHostDirective。它用于模块A中正常工作的ng-template标签。 该指令具有一个ViewContainerRef,用于在组件中插入模板。

我正在尝试在模块B中使用DialogComponent,它给我一个错误:

错误中的

错误:无法确定C语言中DialogHostDirective类的模块:/Users/jitdagar/Desktop/TDP/pwt-ui-common/src/app/components/dialog/dialog-host.directive.ts !将DialogHostDirective添加到NgModule以修复它。

模块A的app.module

@NgModule({
    declarations: [
        AppComponent,
        ExampleComponent,
        DialogComponent,
        DialogHostDirective,
        OpenDialogContentComponent
    ],
    imports: [
        CommonModule,
        FormsModule,
        HttpModule,
        ReactiveFormsModule,
        BrowserModule,
        AlloyModule,
        MatDialogModule,
        BrowserAnimationsModule
    ],
    entryComponents: [
        DialogComponent,
        OpenDialogContentComponent
    ],
    providers: [
        DialogService
    ],
    exports: [ExampleComponent, DialogComponent, DialogHostDirective],
    bootstrap: [AppComponent]
})
export class PwtUiCommonModule {}

我没有在模块B中声明任何组件,因为它们已在模块A中声明。

2 个答案:

答案 0 :(得分:0)

您需要在exports模块声明数组中导出要在其他模块中使用的所有组件/指令。

我相信添加exports: [ExampleComponent, DialogComponent, DialogHostDirective],以及可能的其他必需组件可以解决您的问题。

请参阅角度文档:How to declare feature modules

答案 1 :(得分:0)

就我而言,我看到了很多这样的错误,但查看最主要的错误时,它说:

src / app / app.module.ts(72,10)中的

ERROR:'AppModule'模板编译期间出错 引用未导出的函数。

我刚刚将export添加到了它指向的函数中。解决此问题后,所有其他错误(包括此Error : Cannot determine the module for class)都消失了。

您的情况可能有所不同,但是请先查看最上面的错误,因为这可能是导致模块无法正确加载的问题的根本原因。