如何解决使用 ng-Bootstrap 调用堆叠模态,其中模态用作组件
我将 ng-bootstrap 5.3.1 与 Angular 8 和 bootstrap 4.3.1 一起使用。基本屏幕(视图)调用包含一个按钮的模态 (Modal1)。单击按钮时,另一个模态 (modal2) 应在同一模态窗口中打开。 模态作为组件传递。
第一个模式打开正常,但单击第二个按钮时返回以下错误: “没有找到 modal2component 的组件工厂。你把它添加到 @NgModule.entryComponents 了吗?”
我为他们创建了 module.ts 并尝试定义入口组件,但没有任何效果。任何帮助将不胜感激。
代码: app.module.ts
import { viewmodule } from './view/view.module';
import { editQualModule } from './view/editqual/editqual.module';
import { addqualmodule } from './view/addqual/addqual.module';
import { NgbModule,NgbModalModule,NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
@NgModule({
declarations: [
viewComponent,editQualComponent,addqualcomponent
],imports: [
browserModule,HttpClientModule,FormsModule,NgbModule,RouterModule.forRoot(routes),addqualmodule,viewmodule,editQualModule
],entryComponents: [addqualcomponent,editQualComponent],providers: [NgbActiveModal],bootstrap: [AppComponent],exports: [addqualcomponent,addqualmodule]
})
export class AppModule { }
view.module.ts
import { NgModule } from '@angular/core';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
@NgModule({
imports: [
NgbModule
]
})
export class viewmodule { }
editqual.module.ts
import { NgModule } from '@angular/core';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
@NgModule({
imports: [
NgbModule
]
})
export class editQualModule { }
addqual.module.ts
import { NgModule } from '@angular/core';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
@NgModule({
imports: [
NgbModule
]
})
export class addqualmodule { }
view.component.html
<button type=button class="btn btn-custom border" (click)="openAddModel(editQualmodal)" [disabled]="disableEditQual">Edit Qual's</button>
editqual.component.html
<button id="addqualbut" type=button class="btn btn-custom add" (click)="open(addQualmodal)"> > </button>
addqual.component.html
<div class="modal-header">
<h4 class="modal-title">Qualifier Add</h4>
<button type="button" class="close" data-dismiss="modal" (click)="activeModal.close('Close click')">×</button>
</div>
view.component.ts
import { Component,OnInit,ViewChildren,QueryList,TemplateRef,ViewChild } from '@angular/core';
import { NgbModal,ModaldismissReasons,NgbActiveModal,NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { editQualComponent} from './editqual/editqual.component';
import { addqualcomponent } from './addQual/addqual.component';
@Component({
selector: 'app-view',templateUrl: './view.component.html'
})
export class viewComponent {
constructor(private modalService: NgbModal){}
openAddModel(editQualmodal): void {
const modalRef = this.modalService.open(editQualComponent,{ centered: true,scrollable: true,backdrop: 'static',keyboard: false,size: 'xl' });
modalRef.componentInstance.objeditQualFields = this.objeditQualFields;
}
editqual.component.ts
open(name: any) {
const modalRef = this.modalService.open(addqualcomponent,size: 'xl' });
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。