notification.confirm回调函数始终调用

时间:2013-04-29 10:44:56

标签: cordova angularjs localnotification

我在使用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。但是,只要通知出现而没有点击任何按钮就会调用它。 如何解决这个问题?

2 个答案:

答案 0 :(得分:9)

这是正确的答案:

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

按钮的值是1/2的基于哪个按钮,单击“确认”/“取消”。在我的情况下,'confirm'按钮的值为1,因此等式检查。

答案 1 :(得分:2)

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

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

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