模态元素不从init显示

时间:2017-07-11 02:29:46

标签: angularjs modal-dialog show

所有

我有一个通过路由器加载的模态元素,当我尝试显示模态时会出现问题,虽然URL已正确更改,但它没有显示出来。如果我调用init发生在$ timeout内并且延迟一段时间,则不会出现问题。我不想指定延迟时间,任何建议,以消除$ timeout和延迟时间。

这是我的代码

(function init() {
      $scope.model = {
    //    email specific info being set here
      };


      $timeout(function() {
        modalElement = angular.element('[ng-controller="mycontroller"] .modal');
         modalElement.modal('show');

      },50); // without this delay the modal element is not shown
    })();

请注意,此问题仅在刷新后第一次加载模态时发生,一旦在缓存中设置模态,则不会发生此问题,可能是获取模式导致此问题的延迟。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

used the interval and tried to check the availability of the modal object before invoking the show, did the trick. hence it can be like 

    var test =  $interval(function() {
      modalElement = angular.element('[ng-controller="mycontroller"] .modal');
        if(modalElement.length ==1)
        {
            modalElement.modal('show');
            $interval.cancel(test);
        }
          },50); // without this delay the modal element is not shown