我有一个奇怪的问题,我希望我遗漏了一些明显的东西。 “甜蜜警报”只是弹出一个更漂亮的角度模态 - 当您在模态上单击“确定”时,isConfimed
块会执行。
这是问题 - 我在“isConfirmed”中放入的任何代码块EXECUTES - 我可以记录它等,但它不会更新范围。例如,如果我有$ scope.test并在块中更改它然后记录它,日志将显示为已更改,但更改将不会反映在UI上。我尝试了应用/摘要,但它告诉我apply / digest已经在运行。
有趣的是,当在块外时,代码运行完美(在底部注释掉了示例)。什么更有趣?承诺是为了测试 - 它没有帮助。我认为它没有看到范围,所以我尝试在rootScope上播放,也没有帮助。
我完全失去了。
编辑:我刚刚发现,如果我将代码置于超时状态,它就能正常工作。什么#@!@。$scope.showAlert = function(){
var deferred = $q.defer();
SweetAlert.swal({
text: 'Warning, click ok or else!!!',
otherSettings: 'blah blah blah',
function(userClickedOk){
if(userClickedOk) {
//this executes when I click "Ok on pop-up")
//Putting code here without a promise doesn't update view model either, promise didn't help.
deferred.resolve(true);
return deferred.promise;
}
}
});
deferred.promise.then(function() {
//If I put doSomething() in $timeout, it works...
$scope.doSomething();
});
});
//If I put doSomething() here instead of the promise, it works
//$scope.doSomething();
};