Значение переменной angularjs не обновляется в первый раз с помощью sweetAlert успешно

Я использовал AngularJS v1.5.3 и vendor.bundle.js и app.bundle.js

в этом клике нажмите, чтобы показать кнопку и отобразить окно подтверждения swal, и я нажал «Да, отобразить!» кнопка и div не отображаются, но я нажимаю второй раз, а затем показываю этот div, я имею в виду, что значение $ scope.displayDiv меняется, но никаких эффектов в первый раз, пожалуйста, дайте мне решение

Я вставляю свой код:

<div class="input-group" ng-show="displayDiv" >
        DOM data
</div>
<button class="" ng-click="disDiv()">Show</button>


    $scope.displayDiv=0;
    $scope.disDiv = function() {
            swal({
                title: 'Are you sure?',
                text: "You won't to display",
                type: 'warning',
                showCancelButton: true,
                confirmButtonColor: '#3085d6',
                cancelButtonColor: '#d33',
                confirmButtonText: 'Yes, display it!',
                cancelButtonText: 'No, cancel!',
                confirmButtonClass: 'btn btn-success',
                cancelButtonClass: 'btn btn-danger',
                buttonsStyling: false
            }).then(function() {
                $scope.displayDiv=1;
            });
        };

person Divyesh Bhalodiya    schedule 13.06.2017    source источник
comment
пожалуйста, не используйте тег angular в вопросах, связанных с angularjs   -  person Jota.Toledo    schedule 13.06.2017
comment
событие успеха не в угловатом мире. user $ scope. $ apply   -  person seyfside    schedule 13.06.2017
comment
большое спасибо 'seyfside', все работает нормально ...   -  person Divyesh Bhalodiya    schedule 14.06.2017


Ответы (1)


Попробуйте использовать функцию ниже, может помочь.

<div class="input-group" ng-show="displayDiv" >
        DOM data
</div>
<button class="" ng-click="disDiv()">Show</button>


    $scope.displayDiv=0;
    $scope.disDiv = function() {
            swal({
                title: 'Are you sure?',
                text: "You won't to display",
                type: 'warning',
                showCancelButton: true,
                confirmButtonColor: '#3085d6',
                cancelButtonColor: '#d33',
                confirmButtonText: 'Yes, display it!',
                cancelButtonText: 'No, cancel!',
                confirmButtonClass: 'btn btn-success',
                cancelButtonClass: 'btn btn-danger',
                buttonsStyling: false
            }).then(function() {
                $scope.$apply(function () {
                        $scope.displayDiv=1;
                    });
            });
        };

Я добавил функцию ниже в .then

$ scope. $ apply (function () {$ scope.displayDiv = 1;});

person ashish    schedule 14.06.2017