我有一个模态:

<template #warningModal let-c="close" let-d="dismiss">
  <div class="modal-header">
    <button type="button" class="close" aria-label="Close" (click)="d('Cross click')">
      <span aria-hidden="true">&times;</span>
    </button>
    <h4 class="modal-title">Warning</h4>
  </div>
  <div class="modal-body">
      The numbers you have entered result in negative expenses.  We will treat this as $0.00.  Do you want to continue?
  </div>
  <div class="modal-footer">
    <button type="button" class="btn btn-secondary" (click)="c('Close click')">No</button>
    <button type="button" class="btn btn-secondary" (click)="submit()">Yes</button>
  </div>
</template>

每当我单击"是"时,我都希望它调用函数并自行关闭.
在我的控制器中,我有@ViewChild('warningModal') warning;,在submit()中,我有this.warning.close();,但每当我单击Yes时,我都会得到this.warning.close is not a function.

我如何让它按我想要的方式工作?

推荐答案

如果您使用https://ng-bootstrap.github.io/(如您的问题所示),那么事情非常简单——您可以打开一个模态,然后通过编程方式(通过对返回的NgbModalRef类型对象调用close()方法)从模板(如代码中)or关闭它.

下面是一个简单的例子来说明这一点:http://plnkr.co/edit/r7watmQuyaUQ8onY17Z1?p=preview

你可能会混淆不同的库,或者你的问题可能有更多的内容,但仅仅根据提供的信息很难说得更多.

Angular相关问答推荐

使用路由进行测试.为每次测试导航堆栈

Angular 类型的表单不能分配给分部类型

如何动态呈现组件并以Angular 访问它们的方法?

存储服务存储在本地存储中,但无法检索到它

以17角表示的自定义元素

Angular 环境本地无文件替换

将ngModel绑定到@Input属性是不是一种糟糕的做法?

使用 Electron 打包器打包 Electron Angular 应用程序时无法加载资源

IonicStorageModule似乎不是 NgModule 类

升级到 Webpack 5.79.0 后 NX Angular 项目构建失败

Angular:如何设置 PrimeNG p-steps 组件中已完成步骤的样式?

Angular:为什么在我的自定义 ErrorHandler 中订阅主题不触发?

为什么 HttpParams 在 Angular 4.3 中的多行中不起作用

不再需要 core-js 了吗?

无法读取 angular2 中未定义(…)的属性 push

react表单上的自定义验证器用于密码并确认密码匹配将未定义的参数导入 Angular 4

如何使用ngrx和effects 订阅成功回调

无法绑定到 target,因为它不是div的已知属性

ng build 时超出调用重试次数异常

如何使用formControlName和处理嵌套的formGroup?