Javascript 如何使用角带的onHide选项';s模态

Javascript 如何使用角带的onHide选项';s模态,javascript,angularjs,angular-strap,Javascript,Angularjs,Angular Strap,我使用角带和模态服务。我尝试在使用参数onHide关闭模态时调用函数 var _modal = $modal({ templateUrl: "app/pages/fee/modals/historic/fee.historic.html", controller: "HistoricController", controllerAs: "vm", keyboard: true,

我使用角带和模态服务。我尝试在使用参数onHide关闭模态时调用函数

var _modal = $modal({
            templateUrl: "app/pages/fee/modals/historic/fee.historic.html",
            controller: "HistoricController",
            controllerAs: "vm",
            keyboard: true,
            show: false,
            onHide: function() {
                console.log("Close !");
            },
            onShow: function() {
                console.log("Open !");
            }
        });
_modal.$promise.then(_modal.show);
但是当我关闭模式时,什么都没有发生,我在控制台中看不到任何日志(关闭或打开)。
提前感谢任何能给我一些想法的人

经过调查,这是一个有趣的案例

在分布式版本中,
$modal
似乎不同步!我的意思是当角带是由鲍尔或npm

  • 查看您自己的本地版本的angular strap,即使在最新版本2.3.8中,您也可以找到对
    onShow
    onHide

  • 查看github repo上的源代码->

  • 这里实际触发了
    onShow
    onHide
    !因此,在分布式版本中,modal似乎与angular strap的其余部分不同步

    这不是错误的文档(我实际上相信了很长时间),而是我们下载的源代码不是最新的

    因此,如果您想要支持
    onShow
    等,则必须将github repo中最新的
    /modal
    合并到您的本地角带中。就我个人而言,我不会这么做,因为它会在升级等过程中引发各种问题——我坚持我最初的答案,但现在至少我知道为什么我必须这么做


    根据我的经验,使用
    onShow
    etc选项是无用的。我在总是广播的
    模式.show
    /
    模式.hide
    事件上使用处理程序。如果您有一个多模态环境(模态高于模态),请“标记”模态以避免混淆

    var\u modal=$modal({
    templateUrl:“app/pages/fee/modals/historic/fee.historic.html”,
    控制器:“历史控制器”,
    controllerAs:“虚拟机”,
    键盘:没错,
    秀:假,,
    标签:“myModal”
    }
    $scope.$on('modal.show',函数(e,目标){
    if(target.$options.tag=='myModal'){
    //在这里做事
    }
    })
    $scope.$on('modal.hide',函数(e,目标){
    if(target.$options.tag=='myModal'){
    //在这里做事
    }
    })
    
    您包含的代码似乎没有任何问题。能否提供更多显示控制器配置的代码。在JSFIDLE中复制这些代码也会很有帮助。