ngDialog - 如何从模板关闭对话框(即没有控制器功能)?

Wag*_*lva 3 angularjs ng-dialog

在ngDialog(https://github.com/likeastore/ngDialog)上,是否有内置的方法从模板中自行关闭对话框?即所以我在调用对话框的控制器中不需要任何功能?

这是我的模板(errorPopup.html):

<div>
  <div class="alert alert-warning">
    <div class="errorLogo"><i class="icon-exclaim"></i></div>
    <div class="errorContent" data-ng-bind-html="errorMessage"></div>
  </div>
  <div class="buttonWrapper">
    <button type="button" class="btn-primary pull-right">
      <span res="close"></span>
    </button>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这就是我打开对话框的方式:

function showErrorPopup() {
  ngDialog.open({
    template: 'errorPopup.html',
    scope: $scope,
    className: 'ngdialog-theme-default ngdialog-cart-theme',
    showClose: true,
    appendTo: 'div[ui-view]',
    closeByDocument: false
  });
}
Run Code Online (Sandbox Code Playgroud)

因此,当我调用showErrorPopup()时,我会显示一个对话框,但是,我需要使用此"关闭"按钮来实际关闭/关闭弹出窗口.截至目前,这只是一个没有做任何事情的计划按钮.

我可以做一些模板级别(不更改我的控制器代码)来使按钮工作吗?

也许我应该使用默认按钮而不是我自己的?如果是这样,怎么样?

PS:我注意到点击右上方的X按钮有效,弹出窗口被解除.

谢谢大家!

小智 7

您不必在$ scope中注入ngDialog模块.您可以直接在弹出模板中调用closeThisDialog()函数:

<button ng-click="closeThisDialog(0)">Close</button>
Run Code Online (Sandbox Code Playgroud)

function参数是解析弹出窗口的值.