5

我在使用 angular-js 时调用 phonegap 的 notification.confirm。

我有代码:

ng-click= func(item)

$scope.func = function(item) {
navigator.notification.confirm('Delete?', func2(item));
}

function func2 (item) {
console.log("Ohk call");
}

我希望仅当用户按下确认框上的确认按钮时才调用 func2。但是发生的情况是,它会在通知出现后立即被调用,而无需单击任何按钮。如何解决这个问题?

4

2 回答 2

9

这是它的正确答案:

$scope.func= function (item) {
        navigator.notification.confirm('Delete?', function(button) {
            if ( button == 1 ) {
                func2(item);
            }
        });
    };

button 的值是基于单击“确认”/“取消”的按钮的 1 / 2。在我的情况下,“确认”按钮的值为 1,因此进行了相等性检查。

于 2013-05-06T06:31:09.797 回答
2

那是因为您已经在 func 中调用了函数 func2。您只需将函数作为参数传递,而不是调用它:

$scope.func = function(item) {
    navigator.notification.confirm('Delete?', function() {
        func2(item)
    });
}

这样,只有在您确认通知时才会调用该函数。

于 2013-04-29T11:12:31.020 回答