AngularJS:关闭模态时的函数调用

use*_*039 5 modal-dialog angularjs

我想这是一个非常简单的答案,但我找不到合适的语法.

我的模态开口是这样的,

$scope.assignment = function (groupId) {
    var modalInstance = $modal.open({
        templateUrl: 'assignment_form',
        controller: 'GroupsAssignmentController',
        windowClass: 'modal-user-window',
        resolve: {
            id: function () {
                return groupId;
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

我想要做的就是在模态关闭时运行一个函数,这样我的主屏幕就会更新.

我不确定这是否涉及$ modal.close?

    $modal.close({
    //getAllGroups();
    });
Run Code Online (Sandbox Code Playgroud)

Nik*_*wal 7

modalInstance.result.finally(function(){ 
    // do your work here
});
Run Code Online (Sandbox Code Playgroud)

你也可以使用

then(successCallback, errorCallback, notifyCallback) 
Run Code Online (Sandbox Code Playgroud)

当承诺得到解决时,SuccessCallback超越了.拒绝承诺时执行errorCallback.最后通知notifyCallback.

在angular-ui模态的情况下,单击背景将导致拒绝承诺.考虑到这一点,您的代码可以更改为:

modalInstance.result.then(function () {
  alert('Modal success');
}, function () {
  alert('Modal dismissed');
});
Run Code Online (Sandbox Code Playgroud)

  • 好,我知道了。您需要像我一样使用$ modalInstance.close()来激活successcallback并针对错误之一将其关闭。 (2认同)