如何在Angular中装饰$ modalInstance

时间:2014-11-16 20:46:08

标签: angularjs angular-ui-bootstrap angular-decorator

是否有可能或目前是否有办法在创建时拦截所有模态实例并绑定到其promise值?

我希望创建一个Angular装饰器来执行此操作,但在应用程序引导程序中没有$ modalInstance提供程序,只有$ modal可用。

我想在我的应用程序中打开模式时执行一些常见的系统操作。

由于

1 个答案:

答案 0 :(得分:1)

我不确定这是否是此任务的最佳解决方案,但这是我在必须做同样事情时用来解决这个问题的方法。 $modal服务定义了另一个名为$modalStack的帮助程序服务,它有一些有用的方法。您可以观看其getTop方法:

app.run(function($rootScope, $modalStack) {
    $rootScope.$watch(function() {
        return $modalStack.getTop();
    }, function(newValue, oldValue) {
        if (newValue !== oldValue) {
            if (newValue) {
                console.log('opened', newValue);
            }
            else {
                console.log('closed', oldValue);
            }
        }
    });
});

演示:http://plnkr.co/edit/sm6jGqlITxgQkRt3EHXN?p=info