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 文件夹中删除所有内容解决了这个问题。
最近我将 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 文件夹中删除所有内容解决了这个问题。