$mdDialog [$rootScope:inprog] $ Дайджест уже выполняется

При вызове $mdDialog и последующем вызове еще одного $mdDialog сразу после первого - эта ошибка появляется 3 раза подряд.

введите описание изображения здесь

Нет, я не использую $scope.apply() или же $scope.$digest() где-нибудь в моем коде.

$scope.$$phase является нулевым в момент ошибки

Полный код слишком велик для размещения здесь, и ошибка происходит внутри $mdDialog минимизированные функции.

В любом случае, здесь мы называем $mdDialog:

  $scope.$on('openDialog', function(event, data){

  $mdDialog

        // Open the dialog
        .show({
            template: require('./confirmDialog.html'),
            parent: angular.element(document.body),
            controller: function($scope) {
                var vm = this;
                vm.header   = data.header;
                vm.question = data.question;
                vm.cancel = function() {
                    $mdDialog.cancel();
                }
                vm.yes = function() {
                    $mdDialog.hide('yes');
                }
                vm.no = function() {
                    $mdDialog.hide('no');
                }
            },
            controllerAs: 'vm',
            clickOutsideToClose:true
        })
        // React to answer
        .then(function(modalActionResult){    
            console.log("scope phase", $scope.$$phase);      
            $scope.modalActions({'performAction': modalActionResult, 'type': data.type});
        })
        // Catch any errors
        .catch(function(){

        })
        // Close and kill listeners?
        .finally(function() {

        });

    }); 

0 ответов

Другие вопросы по тегам