angular-ui-router-uib-modal:在模态外单击时重新加载页面

时间:2018-03-13 09:02:01

标签: angularjs modal-dialog bootstrap-modal angular-ui-bootstrap

我正在使用angular-ui-router-uib-modal,我对此有疑问 当我关闭我的模态(确认成功/失败操作)时,我需要重新加载下面的页面(显示数据列表)。如下例所示,我可以在“关闭”按钮和“X符号”中指定该行为以关闭模态(使用ui-sref-opts="{reload: true}")。
但是......当用户点击模态并自动关闭模态本身时,如何指定相同的操作?

<div class="modal-content">
    <div class="modal-header">
        <div class="bb8-modal-close" ui-sref="home.gestioneFondi({gestione:true, innescatoDaMenuLaterale:false})" ui-sref-opts="{reload: true}">
            <span class="visuallyhidden glyphicon glyphicon-remove-circle"/>
        </div>
        <h4 class="modal-title modal-title-font">Info</h4>
    </div>
    <div class="modal-body" ng-switch="esito">
        <p class="text-center modal-body-font" ng-switch-when="true">Success</p>
        <p class="text-center modal-body-font" ng-switch-when="false">Error</p>
    </div>  
    <div class="modal-footer">
        <button class="btn btn-primary" ui-sref="home.gestioneFondi({gestione:true, innescatoDaMenuLaterale:false})" ui-sref-opts="{reload: true}">Chiudi</button>
    </div>
</div>


感谢您的帮助

1 个答案:

答案 0 :(得分:0)

因此,当您打开这样的模态时,它将返回承诺:

  

var modalInstance = $ modal.open({..});

您可以在承诺上指定模态结束事件

  

modalInstance.result.then(function(result){..});

您可以指定以下代码来重新加载状态。

  

$ state.reload();

要使上述工作正常,您必须在控制器中注入$state依赖项。

  

app.controller('controller',['$ state',function($ state){..}])