在点击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
的新值。
有什么想法吗?
答案 0 :(得分:0)
Promise通常是异步的,因此它们不在angular的生命周期内。这意味着在您的.then
函数运行时,角度不知道任何更改。因此,您只需要将.then
函数内的内容包装在$scope.apply
中即可。
https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$apply