输入正常时,我将通过save关闭组件中的引导模式。
我用的是角度v2.4.1和ng-bootstrap 1.0.0-alpha.19
我尝试过this解决方案,但出现以下错误:
ViewContainerRef没有提供程序
我试图将viewContainerRef添加到module.ts,但出现以下错误:
类型“TypeOf ViewContainerRef”不能分配给类型“Provider”
下面是我的组件中的代码:

import { Component } from '@angular/core';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';

@Component({
    selector: '[add-name]',
    templateUrl: '../add-name.html'
})

export class MyComponent {
   public errorMessage: string = '';

   constructor(public modalActive: NgbActiveModal) {}

   public saveNewStuff(name: string) {
        this.errorMessage = '';

        if (name === '' || name === undefined) {
            this.errorMessage = 'some message';
        } else if (this.errorMessage === '') {
            this.modalActive.close();
        }
    }
}

我也试着用
  constructor(public modalRef: NgbModalRef) {}

 public closeModal() {
    this.modalRef.close();
    this.modalRef.dismiss();
}

但这根本不起作用。我甚至没有收到错误信息。

最佳答案

您必须保存对openend模式窗口的引用,以便稍后将其关闭,如下所示:

public mr: NgbModalRef;
...
public openModal(content: string) {
    this.mr = this.modalService.open(content);
}
...
public closeModal() {
   this.mr.close();
}

09-25 19:37