NgModal不显示在Angular项目中

时间:2019-07-04 07:00:19

标签: angular ng-bootstrap

我尝试在按钮单击时显示模式。模态位于专用组件中。

模态位于一个名为NgbdModalContent的组件内,而该模态是通过单击另一个组件内的方法在单击按钮时激活的。

这是NgbdModalContent:

@Component({
  selector: 'ngbd-modal-content',
  template: `
    <div class="modal-header">
      <h4 class="modal-title">Hi there!</h4>
      <button type="button" class="close" aria-label="Close" 
 (click)="activeModal.dismiss('Cross click')">
        <span aria-hidden="true">&times;</span>
      </button>
    </div>
    <div class="modal-body">
      <p>"Some text"</p>
     </div>
     <div class="modal-footer">
       <button type="button" class="btn btn-outline-dark" 
  (click)="activeModal.close('Close click')">Close</button>
      </div>
   `
 })
 export class NgbdModalContent {

   constructor(public activeModal: NgbActiveModal) {}
 }

这是其他组件内部的方法:

    async onCreateClicked() {
   var  modalService=new NgbModal;
     const modalRef = modalService.open(NgbdModalContent);
    return;
   }

现在,它将不会编译,因为新的NgbModal需要一些参数,而且我不知道要在其中放置什么,并且我无法将NgbModal用作此组件的构造函数参数,因为它已经具有另一个构造函数。

1 个答案:

答案 0 :(得分:0)

您已添加如下代码

constructor(public activeModal: NgbActiveModal) {}

当您创建类似

的对象时
var  modalService=new NgbModal;  

-它将始终要求传递参数。因此,如果以上参数未使用-删除该参数。而不是使用new创建Object,而是使用构造函数。