2015-05-28 3 views
1

Используется с помощью angular-ui какое-то время, но я не могу избавиться от черной мерцания при ее использовании без анимации. Вот plunker.Angular-ui modal без анимации анимации

$scope.opend = function() { 
     var modalInstance = $modal.open({ 
     animation: false, 
     templateUrl: 'myModalContent.html', 
     controller: 'ModalInstanceCtrl', 
     size: 'sm', 
     resolve: { 
     items: function() { 
      return $scope.items; 
     } 
     } 
    }); 

Щелкните несколько раз и обратите внимание, что фоны мерцают, когда диалог открывается и закрывается. Оказывается, что на планшетах это становится намного хуже.

Даже их пример на https://angular-ui.github.io/bootstrap/ мерцает.

Любые идеи о том, как я могу избежать этого черного мерцания, или я вынужден изменить модальный имидж?

+0

вы можете попытаться использовать $ timeout, но я считаю, что угловое ui уже использует $ timeout. Я использую bootstrap modal, но вызывая функцию $ timeout без углового ui, и это не щелчки. –

+0

Это ошибка, обсуждаемая здесь: https://github.com/twbs/bootstrap/issues/8768 – ZachB

ответ

-2

Использование animation: true, которые избегают мерцающего

0

я столкнулся с этой проблемой при закрытии диалога.

Скрытия диалогового права перед закрытием помогает немного:

$('.modal-dialog').hide(); 
// then call modalInstance.close() 

Для того, чтобы исправить все диалоги в проекте я создал «декоратор» в функции конфигурации:

angular.module(...).config([..., '$provide', function(..., $provide){ 
     $provide.decorator('$modal', [ 
      '$delegate', function($delegate) { 
       return { 
        open: function (modalOptions) { 
         var modifiedResult = $delegate.open(modalOptions); 

         var originalClose = modifiedResult.close; 

         modifiedResult.close = function (result) { 
          angular.element('.modal-dialog').hide(); 
          originalClose(result); 
         } 

         return modifiedResult; 
        }, 
        getPromiseChain: function() { 
         return $delegate.getPromiseChain(); 
        } 
       }; 
      } 
     ]); 
}]); 

надежда этого помогает

Смежные вопросы