视图模型未更新 - 已应用/摘要已运行

时间:2016-01-19 02:35:50

标签: javascript angularjs sweetalert

我有一个奇怪的问题,我希望我遗漏了一些明显的东西。 “甜蜜警报”只是弹出一个更漂亮的角度模态 - 当您在模态上单击“确定”时,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();
};

0 个答案:

没有答案