0

Привет там Я пытаюсь создать с сохранением состояния модальности, используя пользовательский интерфейс-маршрутизатор и щ-самозагрузки, у меня есть открытие модального успешно, как это,угловой ui bootstrap modal открыт в состоянии, как закрыть контроллер?

.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, который займет модный экземпляр.

Там вы могли бы внедрить и использовать $modalInstance службу внутри loginController

И для закрытия всплывающего окна можно закрыть метод над $modalInstance

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

    //..other controller code which you already had 

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

}); 
Смежные вопросы