0

您好我想創建有狀態的情態,使用的UI路由器和用戶界面的自舉,我有模態開成功就是這樣,角度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')的情況下,一個簡單的,但我得到告訴解僱是未定義功能,做我需要做別的東西能夠從我的控制器關閉我的模式?

也當過我瀏覽到/登錄首頁顯示模式之下,這將是巨大的,如果我把它下面的當前頁面,這可能嗎?

+0

一種方式是通過服務來打開它,並與控制器共享服務。將modalInstance對象存儲在服務中 – charlietfl

+0

將其作爲激活功能在控制器中打開。並且您可以輕鬆關閉它。 –

回答

0

一旦你打開一個模態,內部模態控制器,即loginController,你可以看到$modalInstance服務,它將抓住模態實例。

在那裏,你可以注入,並使用內部loginController

$modalInstance服務以及關閉彈出你可以關閉方法在$modalInstance

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

    //..other controller code which you already had 

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

});