当前位置: 首页 > 知识库问答 >
问题:

角度UI对话框-从对话框关闭和重新打开会导致后台

顾嘉良
2023-03-14

我试图从实际对话框控制器的视图关闭并重新打开对话框。最终发生的情况是,在对话框关闭/打开后,它不会再次正确关闭。Escape在某些浏览器上工作(但覆盖仍保留),单击背景可能会导致对话框关闭,但覆盖仍保留(取决于浏览器)。

问题:如何从对话框控制器上的函数/按钮/事件关闭/重新打开对话框,以及对话框的关闭是否正常(在转义或单击背景时)。

下面的演示只是一个简单的示例,演示了这个问题,因为我将执行下一个/上一个操作,我想在这些单击时关闭/打开,但由于无法退出模式,所以出现了这个问题。

以下是在线演示:http://plnkr.co/h8djNiSlH6c7d8SNzMmb

  1. 打开对话框
  2. 关闭对话框-工作正常,除了IE(另一个问题)。
  3. 打开对话框
  4. 单击对话框内的按钮关闭/重新打开
  5. 尝试关闭对话框

控制器:

function PopupCtrl($scope, $dialog, dialog, item, Utils) {

    $scope.items = Utils.getItems();
    $scope.item = item;
    $scope.reOpen = function (item) {
        item = $scope.items[1];
        dialog.close();
        var d = $dialog.dialog({
            dialogFade: true,
            backdropClick: true,
            dialogOpenClass: 'modal-open',
            resolve: {
                item: function () {
                    return angular.copy(item)
                }
            }
        });
        d.open('dialog.html', 'PopupCtrl');
    };
}

function MainCtrl($scope, $window, $dialog, $location, $timeout, Utils) {
    $scope.items = Utils.getItems();

    $scope.openDialog = function (item) {
        item = $scope.items[0];
        var d = $dialog.dialog({
            dialogFade: true,
            dialogOpenClass: 'modal-open',
            resolve: {
                item: function () {
                    return angular.copy(item)
                }
            }
        });
        d.open('dialog.html', 'PopupCtrl');

    };

}

我已经用角度引导v0尝试过了。2.0和v.0.3.0,所以它要么是一个bug,要么是我在如何编写逻辑方面缺少了一些东西。

共有1个答案

戈嘉慕
2023-03-14

这原来是core dialog指令的一个问题。提交了一个问题和随后的请求,以解决:

详情如下:https://github.com/angular-ui/bootstrap/pull/381

 类似资料:
  • 问题内容: 我需要建立一个对话框来与项目列表中的任何项目一起使用。该对话框与项目无关,几乎相同,只是字段的值显然与项目相关。 我正在构建的指令正在从文件中读取模板,使用$ compile对其进行编译,然后将其绑定(链接)到该项目的范围。绑定的结果是一棵DOM树。为了使对话框可见,我需要将此树附加到现有DOM中的某些元素上。对话框的性质使得将其直接附加到body标签是有意义的。该对话框将与列表中的不

  • 问题内容: 我正在开发可访问性应用程序。当用户想要离开该应用程序时,我会显示一个对话框,在该对话框中他必须确认要离开,如果5秒钟后他仍未确认,则该对话框应自动关闭(因为用户可能意外打开了该对话框)。这类似于在Windows上更改屏幕分辨率时发生的情况(会出现警报,如果您没有确认,它将恢复为以前的配置)。 这是我显示对话框的方式: 显示对话框后5秒钟如何关闭对话框? 问题答案:

  • 我想在我的编码中添加对话框。对话框可以弹出。假设用户按下ok按钮后对话框将关闭,但对话框将自动关闭。这是我的密码。有什么问题吗?

  • 场景是:您在窗口(a)中,单击按钮/链接启动打印过程,然后打开一个新窗口(B),其中包含要打印的内容,打印对话立即显示,如果您单击窗口(B)的取消按钮,那么您应该可以再次打印,但当您单击窗口(B)的打印按钮打印时,您可以打印,但窗口(a)的按钮不能再次继续打印。给我一些解决方案…!!!在chrome,Firefox和internet explorer上工作

  • 问题内容: 我正在尝试制作一个可以帮助我评估从Web资源下载文件的时间的应用程序。我发现了2个样本: 使用Android下载文件,并在ProgressDialog中显示进度 和 http://www.helloandroid.com/tutorials/how-download-fileimage-url- 您的设备 第二个示例显示了较小的下载时间,但是我不明白如何使用它来更新进度对话框。我认为在

  • 问题内容: 加载Web视图后,我需要什么代码来创建对话框? 我试过了 没用 问题答案: :o webview.setWebViewClient(new homeClient()); homeClient() ???? 试试这个 更新:: 这是一个很好的例子。 Android WebView和不确定性进度解决方案