1

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

未找到 {component} 的组件工厂。你把它添加到@NgModule.entryComponents 了吗?

我在 app.module.ts 文件中添加了以下内容 -

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

在我的MySubModule——

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

即使我已经定义了我的入口组件,它也会抛出这个错误。任何人都可以提出任何解决方案吗?

4

2 回答 2

2

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

在 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 模态

于 2018-07-29T05:55:31.143 回答
1

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

于 2018-07-29T06:30:04.067 回答