我使用了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;
});
};
答案 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; });