确认框正在阻止/暂停

时间:2015-08-31 07:41:55

标签: angularjs

我有ng-click="myFunc(aEntry)"

然后myFunc是这样的:

    MODULE.myFunc = function(aEntry) {
        aEntry.hilite = true;
        if (!confirm('Are you sure?')) {
            aEntry.hilite = false;
            return;
        }
    };

然而,它不会更新dom以显示它突出显示。确认框似乎暂停了。有谁知道一项工作?

1 个答案:

答案 0 :(得分:0)

这是因为confirm是阻止功能。我知道你想要改变你,但是

aEntry.hilite = true;

不是UI更改。这是一个合乎逻辑的变化。您可能有一个事件处理程序,它在您调用confirm后运行。您需要保证在调用confirm之前执行突出显示ui操作。有几种方法可以做到。

最原始的方法是使用setTimeout并使用时间将confirm调用放入其中,这肯定比等待ui处理程序执行所需的时间长。

稍微好一点的方法是使用setInterval直到ui发生变化。

但最好的方法是传递confirm,其中包含function用作ui更改的回调,或者在调用confirm之前触发ui更改事件