更改ngModel值以切换选项卡

时间:2019-07-15 17:44:17

标签: javascript angularjs sweetalert

在点击ngModel按钮(Cancel)以切换标签(sweet alert中的div之后,我试图更改html的值),但不起作用。

这是 HTML

<div ng-show="tabsMainMenu=='tabOne'">
   <h1>tabOne</h1>
</div>
<div ng-show="tabsMainMenu=='tabTwo'">
   <h1>tabTwo</h1>
</div>

JS

 swal({
     title: 'Cancel?',
     text: 'Are you sure?',
     icon: 'warning',
     buttons: true
 })
 .then((cancel) => {
   if (cancel) {
   // Go back to Tab One 
   $scope.tabsMainMenu = 'tabOne';
   }
});

只有当我将mouse cursor放在Cancel页面上的html按钮上时,它才能识别tabsMainMenu ngModel的新值。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

Promise通常是异步的,因此它们不在angular的生命周期内。这意味着在您的.then函数运行时,角度不知道任何更改。因此,您只需要将.then函数内的内容包装在$scope.apply中即可。

https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$apply