加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 在模态关闭之前,如何在angular-ui $modal *中执行

发布时间:2020-12-17 16:57:43 所属栏目:安全 来源:网络整理
导读:angular-ui $modal支持使用modalInstance.result.then(closeFn,dismissFn)关闭或解除窗口的promise. 因此,如果我使用模态收集新项目的信息,那么我可以这样做: modalInstance.result.then(function (item) { new Item(item).$save(); // or similar },functi
angular-ui $modal支持使用modalInstance.result.then(closeFn,dismissFn)关闭或解除窗口的promise.

因此,如果我使用模态收集新项目的信息,那么我可以这样做:

modalInstance.result.then(function (item) {
          new Item(item).$save(); // or similar
        },function () {
        });

和HTML代码段:

<button class="btn btn-primary" ng-click="$close(item)">Save</button>
    <button class="btn btn-warning" ng-click="$dismiss()">Cancel</button>

但是新项目可能存在冲突,或者在服务器端可能无效,或许多其他事情.在模态本身关闭之前,有什么办法可以解决这个问题吗?我想抓住“是”(或“关闭”)点击,运行我的fn做新项目(项目).$save(),然后:

>如果成功,继续关闭模态
>如果失败,请突出显示错误消息

我知道我可以在按钮上使用不同的ng-click,并在$modal控制器中捕获它,如下所示:

<button class="btn btn-primary" ng-click="save(item)">Save</button>

和代码:

var modalInstance = $modal.open({
          templateUrl: '/partials/createItem.html',controller: function ($scope) {
                    $scope.save = function(item) {
                        new Item(item).$save().then(function(){
                            modalInstance.close();
                        });
                    };

          }
        });

但是有没有更多标准的方法来预先捕捉近距离事件?

解决方法

angular-ui的$close实际上是一个标准的角度延迟对象.你无法捕捉正在进行的$close事件,所以实际上你的第二个决定是正确的.使用提交按钮的重新保护

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读