1

我有一个链接,用户单击该链接可以查看某些信息的详细信息。此单击会触发 ng-dialog open 事件,例如:

 ngDialog.open({
  template: 'partials/acaoDetalhe.html',
  className: 'ngdialog-theme-default ngDialogSize',
  controller: MetaController,
  scope: $scope

});

和一个侦听器,以便在打开对话框时,侦听器检索 MetaController 的其他信息。

$scope.$on('ngDialog.opened', function (e, $dialog) {
  console.log('ngDialog opened: ' + $dialog.attr('id'));
  $scope.$broadcast('getMetaCompletaEvent', $scope.meta.id);

}); 

用户第一次点击链接时它工作正常。调用控制器的功能并从后端检索信息。但是当用户在对话框窗口外点击并再次点击链接后,控制器的方法被调用了两次。如果用户再次“关闭”对话框并再次单击链接,控制器的方法将被调用 3 次。似乎对话框保持隐藏状态,每次用户单击链接时,都会打开一个新对话框并创建另一个控制器。为什么会这样?我需要其他对话框在用户点击它们外部后真正关闭。

4

0 回答 0