Angular 角度2 ng自举闭合模式

Angular 角度2 ng自举闭合模式,angular,ng-bootstrap,Angular,Ng Bootstrap,我试图关闭通过open(content)函数呈现给我的模式,如ng boostrap中的示例所示。在网站上,它提到我可以从NgbaTiveModal调用close或Disclose 因此,我在组件中包含了NgbActiveModal,并尝试调用dismise()或close()。这两个都不起作用。首先,dismise()是未定义的(我导入NgbActiveModal是否错误?)当我调用close()时,它似乎想调用lib.dom.d.ts中的一些奇怪的函数,这根本不是我想要的。因此,在我看来,即

我试图关闭通过open(content)函数呈现给我的模式,如ng boostrap中的示例所示。在网站上,它提到我可以从NgbaTiveModal调用close或Disclose

因此,我在组件中包含了NgbActiveModal,并尝试调用dismise()或close()。这两个都不起作用。首先,dismise()是未定义的(我导入NgbActiveModal是否错误?)当我调用close()时,它似乎想调用lib.dom.d.ts中的一些奇怪的函数,这根本不是我想要的。因此,在我看来,即使在导入NgbaTiveModal之后,我也无法访问ng bootstrap提供的关闭和关闭功能。请注意,我可以显示模式精细

在本例中,通过(单击)=“c(‘关闭单击’)关闭模态。我不知道这是从哪里来的

所以。。。如何调用close()或disclose()(无论哪种方法有效)来摆脱模态

  • 在模态组件上,需要添加以下行:

    @ViewChild('exampleModal') public exampleModal:ModalDirective;
    
  • 在html模式下,您需要在div根目录中插入:

    #exampleModal="bs-modal"
    
  • 在模态组件上:

    onSave(){
       this.exampleModal.hide();
    }
    

  • 答案可以在这里找到。ng bootstrap网站不幸丢失了大量信息

    在组件类内部

      private modalRef: NgbModalRef;
    
      // Modal
      open(content) {
        this.modalRef = this.modalService.open(content);
        this.modalRef.result.then((result) => {
          this.closeResult = `Closed with: ${result}`;
        }, (reason) => {
          this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;
        });
      }
    
      onSave() {
        this.modalRef.close();
      }
    

    我通过Angular 6ng引导程序中跟踪文档。最后,我发现解决方案改变了一行:

    模态选项.html

    <ng-template #content let-d="dismiss">
      <div class="modal-header">
        <h4 class="modal-title">Modal title</h4>
        <button type="button" class="close" aria-label="Close" (click)="d('Cross click')">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        <p>One fine body&hellip;</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-light" (click)="d('Close click')">Close</button>
      </div>
    </ng-template>
    

    谢谢分享链接。即使访问了它,仍然不清楚如何关闭()或取消()以摆脱模态。如果你能告诉我你是如何解决的,我将不胜感激。谢谢。已使用解决方案更新。如果
    内容
    入口组件
    ,您将如何执行此操作?@user172902您应该将此标记为正确/已接受的答案,因为这是正确的方法,而且很难从噪声中过滤出信息。@teddybear您可以使用从
    this.modalService.open(content)
    (这是一个modalRef)返回的值,如答案中所示。另一个选项是将modalRef传递给entryComponent;
    constructor(private modalService: NgbModal) {}
    
    openLg(content) {
      this.modalService.open(content, { size: 'lg' });
    }