ngx-bootstrap 即使添加到入口组件后也找不到模态组件

ngx-bootstrap Modal Component not found even after adding to entry component

最近我将 ASP.NET Core 2.0 Angular 应用程序转换为 ASP.NET Core 2.1(后来使用 angular/cli 应用程序)。在以前的版本中,我有一些使用 ngx-bootstrap 构建的模态组件可以正常工作。但在转换后这些组件停止工作并开始抛出此错误 -

No component factory found for {component}. Did you add it to @NgModule.entryComponents?

我已将以下内容添加到我的 app.module.ts 文件中 -

@NgModule({
    imports: [
        ModalModule.forRoot(),
        MySubModule
    ],
    entryComponents: [
        MyModalComponent
    ]
})

在我的MySubModule-

@NgModule({
    declarations: [
        MyModalComponent
    ],
    imports: [
        ModalModule.forRoot()
    ]
    exports: [
        MyModalComponent
    ]
})

尽管我已经定义了入口组件,但它还是抛出了这个错误。谁能提出任何解决方案?

您正在 MyModalComponent 中使用模态,并且您使用 MySubModule 作为它的模块,因此您应该将 import ModalModule 添加到您的 MySubModule 并在 app.module.ts.

中声明您的 MySubModule

在我的子模块中:

import { ModalModule } from 'ngx-bootstrap/modal';

@NgModule({
    declarations: [
        MyModalComponent
    ],
    imports: [
        ModalModule.forRoot()
    ]
    exports: [
        MyModalComponent
    ]
})
export class MySubModule { }

在你的 app.module.ts:

@NgModule({
    imports: [
        MySubModule
    ]
})

export class AppModule { }

最好使用 ngbootstrap modal

这实际上是一个愚蠢的问题。我只是在查看我的代码,但问题是由 ClientApp/dist 目录中的某些文件引起的。所以应用程序正在提取这些文件而不是提取 ng serve 文件。因此,我对文件所做的任何更改都没有被接受。从 dist 文件夹中删除所有内容解决了这个问题。