如何从角度控制器关闭ngDialog

时间:2015-11-19 05:01:32

标签: ng-dialog

我需要打开多个具有相同ID的ngDialog,单击关闭按钮时,它应该只关闭当前打开的ngDialog。

关闭ngDialog我需要调用一个收集数据然后关闭ngDialog的事件。

5 个答案:

答案 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);