angularjs模态模态对话框关闭

时间:2017-06-29 10:56:48

标签: angularjs popup modal-dialog

请原谅我的无知,但我是angularjs的新手,我想显示一个有2个按钮的弹出窗口(确定和取消) OK:关闭弹出窗口和浏览器 取消:关闭弹出窗口

我正在使用模态对话框来显示弹出窗口 我的HTML代码是:

<modal-dialog show='dialogShown' dialog-title='My Dialog'>
          <p></p>
          <p>Are you sure ?</p>
          <button ng-click="closeWindow()">OK</button>
          <button ng-click="closeDialog()">Cancel</button>

</modal-dialog>

我的控制器:

var app = angular.module('MyModule', []);
app.controller('MyCtrl', function ($scope,myservice) {

    $scope.dialogShown = false;
    $scope.showDialog = function(){
        $scope.dialogShown = true;
    }

    $scope.closeWindow = function(){
        // I need to close the popup AND the window
    }

    $scope.closePopup = function(){
        // I need to close the popup 
    }    
}

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果您只需要能够关闭浏览器的当前选项卡,则应使用$window.close()功能。

有关此功能的更多信息,请阅读window.close()$window文档。

编辑:就像它在window.close()的mozilla doc中所写:

  

只允许对使用window.open()方法由脚本打开的窗口调用此方法。如果脚本未打开窗口,则控制台中会出现类似于此窗口的错误:脚本可能无法关闭脚本未打开的窗口。

解决方法是自行(重新)打开窗口然后关闭它:

window.open('', '_self').close()

Angular方式(使用$ window):

$window.open('', '_self').close()

但这是一个漏洞利用,不应该在生产中使用,因为它可能会在未来版本的浏览器中修复。