我需要打开多个具有相同ID的ngDialog,单击关闭按钮时,它应该只关闭当前打开的ngDialog。
关闭ngDialog我需要调用一个收集数据然后关闭ngDialog的事件。
答案 0 :(得分:8)
这取决于你是否试图从它自己的控制器关闭它(1),或者(2)实例化它的控制器:
(1)从自己的控制器:
scope.closeThisDialog(value);
请参阅doc:https://github.com/likeastore/ngDialog
(2)从实例化它的控制器:
var dialog = ngDialog.open();
// for closing the dialog call dialog.close()
如萨蒂什萨尔瓦多的回应所述。
干杯!
答案 1 :(得分:3)
将ngDialog.open()分配给var dialog = ngDialog.open();
等变量,以关闭对话框调用dialog.close()
答案 2 :(得分:1)
您可以使用.getOpenDialogs()
ngDialog
对象上有一个名为getOpenDialogs
的方法。使用此功能可以获得所有已打开对话框的列表,并通过在“选定”对话框上调用.close()
来关闭您感兴趣的对话框。
答案 3 :(得分:0)
在某些情况下,您可以通过在创建对话框时指定disableAnimation选项来避免此问题:
ngDialog.open({
template: 'template.html',
appendClassName: 'ngdialog-custom',
disableAnimation: true
});
答案 4 :(得分:0)
超越closeThisDialog()
你可以做到:
vm.myDialog = ngDialog.open(... omissis ...);
...
vm.myDialog.close();
或
vm.myDialog = ngDialog.open(... omissis ...);
...
ngDialog.close(vm.myDialog.id);