Angularjs变量值没有第一次更新,sweetAlert成功

时间:2017-06-13 13:07:53

标签: angularjs sweetalert sweetalert2

  

我使用了AngularJS v1.5.3& vendor.bundle.js和app.bundle.js

在此单击以显示按钮并显示swal确认框,然后我按下“是,显示它!”#39;按钮和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;
            });
        };

1 个答案:

答案 0 :(得分: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;                       });