angularjs - 任何实例的 Angular UI Bootstrap 模式关闭事件

标签 angularjs angular-ui-bootstrap

我正在使用 UI Bootstrap AngularUI,当任何模式关闭时我需要调用一个函数。 我知道当特定模式实例关闭时我可以调用一个函数,如下所示:

modalInstance.result.finally(function(){
    console.log('Modal closed');
});

在 jQuery 中,我会对任何实例执行类似的操作:

$(document).on('hidden.bs.modal', function () {
    console.log('Modal closed');
});

但是如何使用 AngularJS 来实现这一点呢?

最佳答案

你可以这样做:

myApp.controller('ModalCtrl', ['$scope', '$modal', function($scope, $modal) {
    $scope.open = function() {
        var modalInstance = $modal.open({
            templateUrl: 'modal.html',
            controller: 'ModalInstanceCtrl',
            resolve: {
                params: function() {
                    return {
                        key: 'value',
                        key2: 'value2'
                    };
                }
            }
        });
        modalInstance.result.then(
            function(result) {
                console.log('called $modalInstance.close()');
                alert(result);
            },
            function(result) {
                console.log('called $modalInstance.dismiss()');
                alert(result);
            }
        );
    };
}])

以及您可以从 Controller 获得的东西。

myApp.controller('ModalInstanceCtrl', ['$scope', '$modalInstance', 'params', function ($scope, $modalInstance, params) {
    console.log(params);

    $scope.ok = function () {
        $modalInstance.close('this is result for close');
    };

    $scope.cancel = function () {
        $modalInstance.dismiss('this is result for dismiss');
    };
}]);

发现了一个巧妙的 fiddle : http://jsfiddle.net/wjohtz0y/

关于angularjs - 任何实例的 Angular UI Bootstrap 模式关闭事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34546652/

相关文章:

javascript - Kendo Ui 与 Angular - 看不到网格

javascript - 带有 AngularJS 和 Adapt-Strap 的树表。列是 "squeezed"

javascript - 通过 promise 加载 angular 1.5 组件模板

java - 为什么 angularJs 文件上传无法将数据发送到后端的 spring Controller ?

angularjs - 表格中的 UI Bootstrap 工具提示将所有内容移动到右侧

javascript - AngularJS - 分页不呈现在 $scope.Watch 变化(包括 CodePen)

angularjs - 简单的 Angular $routeProvider 解析测试。这段代码有什么问题?

javascript - 如何使用组件从 Angular UI Bootstrap Modal 传递参数并检索结果

javascript - Angular UI Bootstrap : how to close the modal without a controller?

javascript - 单击时父元素的 AngularUI 弹出框样式发生变化