【发布时间】:2015-11-19 05:01:32
【问题描述】:
我需要打开多个具有相同 id 的 ngDialog,当单击关闭按钮时,它应该只关闭当前打开的 ngDialog。
为了关闭 ngDialog,我需要调用一个事件来收集数据然后关闭 ngDialog。
【问题讨论】:
标签: ng-dialog
我需要打开多个具有相同 id 的 ngDialog,当单击关闭按钮时,它应该只关闭当前打开的 ngDialog。
为了关闭 ngDialog,我需要调用一个事件来收集数据然后关闭 ngDialog。
【问题讨论】:
标签: ng-dialog
这取决于您是尝试关闭它(1)从它自己的控制器,还是(2)实例化它的控制器:
(1) 从它自己的控制器:
scope.closeThisDialog(value);
见文档:https://github.com/likeastore/ngDialog
(2) 从实例化它的控制器:
var dialog = ngDialog.open();
// for closing the dialog call dialog.close()
正如 Satish Salvador 的回复所述。
干杯!
【讨论】:
将 ngDialog.open() 分配给 var dialog = ngDialog.open(); 之类的变量以关闭对话框调用 dialog.close()
【讨论】:
在某些情况下,您可以通过在创建对话框时指定 disableAnimation 选项来避免此问题:
ngDialog.open({
template: 'template.html',
appendClassName: 'ngdialog-custom',
disableAnimation: true
});
【讨论】:
你可以使用.getOpenDialogs()
ngDialog 对象上有一个名为 getOpenDialogs 的方法。您可以使用此功能获取所有已打开对话框的列表,并通过在“选定”对话框上调用 .close() 来关闭您感兴趣的对话框。
【讨论】:
除了closeThisDialog(),您还可以:
vm.myDialog = ngDialog.open(... omissis ...);
...
vm.myDialog.close();
或
vm.myDialog = ngDialog.open(... omissis ...);
...
ngDialog.close(vm.myDialog.id);
【讨论】: