【发布时间】:2016-06-02 13:00:06
【问题描述】:
在 ngDialog (https://github.com/likeastore/ngDialog) 上,是否有内置方法可以从它自己的模板中关闭对话框? IE。所以我不需要控制器中的任何函数来调用对话框?
这是我的模板(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>
这就是我打开对话框的方式:
function showErrorPopup() {
ngDialog.open({
template: 'errorPopup.html',
scope: $scope,
className: 'ngdialog-theme-default ngdialog-cart-theme',
showClose: true,
appendTo: 'div[ui-view]',
closeByDocument: false
});
}
因此,当我调用 showErrorPopup() 时,会显示一个对话框,但是,我需要使这个“关闭”按钮真正关闭/关闭弹出窗口。到目前为止,这只是一个计划按钮,没有任何作用。
我可以在模板级别(不更改控制器的代码)做些什么来使按钮工作吗?
也许我应该使用默认按钮而不是我自己的?如果有,怎么做?
PS:我注意到点击右上角的 X 按钮有效,弹出窗口被关闭。
谢谢大家!
【问题讨论】:
-
它关闭了窗口,但感觉不对。那会是什么感觉呢?
-
@AlonEitan 我已经改写了我的问题,我想做的就是弄清楚如何从模板中关闭对话框(控制器中没有函数)
-
所以只需在控制器中执行
$scope.ngDialog = ngDialog;,并在视图中执行ng-click="ngDialog.close()" -
@AlonEitan 实际上这是一个不错的主意!可能想将其发布为 asnwer :D
-
感谢您的确认。我已经发布了我的评论作为答案