angular ui bootstrap modal在状态下打开,如何在控制器中关闭?

时间:2016-11-20 21:49:30

标签: javascript angularjs twitter-bootstrap angular-ui-router angular-ui-bootstrap

您好我在尝试创建有状态模式,使用ui-router和ui-bootstrap,我有这样的模态打开,

.state('static.login', {
        url: '^/login',
        onEnter: function($modal, $state, $stateParams) {
            var modalInstance;
            modalInstance = $modal.open({
                animation : false,
                templateUrl : 'app/components/login/views/login.view.html',
                controller : 'loginController',
                size : 'lg'
            });
            return modalInstance.result["finally"](function() {
                return $state.go('^');
            });
        }
        // templateUrl: 'app/components/login/views/login.view.html',
        // controller: 'loginController'
    })

但我正在努力从我的loginController中关闭模态,我认为这是一个简单的运行$modal.dismiss('cancel')的情况,但我被告知dismiss是未定义的函数,我是否需要做其他事情是能从我的控制器关闭我的模态吗?

此外,当我导航到/登录主页显示在模态下面时,如果我将当前页面保持在它下面会很好,这可能吗?

1 个答案:

答案 0 :(得分:0)

一旦打开模态,内部模态控制器即loginController,您就可以看到$modalInstance服务,它将获取模态实例。

您可以在$modalInstance

中注入并使用loginController服务

关闭弹出窗口,你可以关闭$modalInstance

的方法
app.controller('loginController', function($modalInstance){

   //..other controller code which you already had

   //for closing popup do below
   $modalInstance.close();

});