【问题标题】:ngDialog - closeModal event - angularjsngDialog - closeModal 事件 - angularjs
【发布时间】:2015-11-18 19:43:21
【问题描述】:

弹出窗口关闭时是否会触发任何事件。

模式在点击事件时打开。 modal 有一个关闭按钮,但当用户点击 modal div 之外的任何位置时也会关闭。

希望在弹出窗口关闭时执行一些操作。 我知道如何在单击该关闭按钮时编写函数,但是如果模态被其他操作关闭怎么办。

app.controller('MainCtrl', function ($scope, ngDialog) {
$scope.clickToOpen = function () {
ngDialog.open({ template: 'popupTmpl.html' });
};
});

【问题讨论】:

    标签: html angularjs ng-dialog


    【解决方案1】:

    尝试传递'preCloseCallback':-

    ngDialog.open({ template: 'popupTmpl.html', preCloseCallback:function(){ /* Do something here*/} });
    

    希望这会有所帮助!

    【讨论】:

    • 谢谢@Cody。很高兴知道它有帮助!
    【解决方案2】:

    只需将 closeByDocument : false 放在 dialog.open 中,这样当用户单击模态 div 之外的任何位置时,对话框就不会关闭。

    示例代码

    ngDialog.open({
      id: 'fromAService',
      template: 'firstDialogId',
      controller: 'InsideCtrl',
      data: { foo: 'from a service' },
      closeByDocument: false
    });
    

    【讨论】:

      【解决方案3】:
       $modal.open({
          ... // other options
          backdrop : 'static'
       });
      

      准确的答案。只需使用backdrop : 'static',您的模式只会通过单击关闭按钮来关闭。是的,这是一个很好的问题。许多开发人员犯了这种愚蠢的错误,但你不是他们的。如果它没有帮助,那么让我回复。有很多方法可以做到这一点。

      【讨论】:

      • 谢谢。我尝试了背景,但是当点击它外面的任何地方时,模式仍然关闭。
      • ngDialog.open({ template: 'popupTmpl.html', closeByDocument : false, preCloseCallback:function(){ /* 在这里做点什么*/} });这样做并让我知道它是否有效。我的Skype:er.chourasiya
      • 好的,太好了。 github.com/likeastore/ngDialog 这可能对你有用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多