2013-04-29 146 views
5

我在使用angular-js时调用了phonegap的notification.confirm。notification.confirm回调函数总是调用

我有代码:

ng-click= func(item) 

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

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

我想只有当用户按下确认框确认键被称为FUNC2。但是,发生的情况是,只要没有点击任何按钮,通知就会立即被调用。 如何解决这个问题?

+0

请用ng-click提供确切的html片段。 – Yaroslav 2013-04-29 10:52:44

回答

8

这里是正确ANS它:

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

按钮的值是1/2系哪个按钮的“确认” /“取消”被点击。在我的情况下,'确认'按钮的值为1,所以相等检查。

2

这是因为你已经在func里面调用函数func2了。你只需要通过一个函数作为参数,而不是把它叫做:

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

这样,当你确认通知的功能才会被调用。

+0

创造奇迹!非常感谢你.. :) – 2013-05-02 06:59:41

+0

嘿,这不起作用...即使当我点击取消按钮 – 2013-05-03 06:07:28

+0

告诉我们你的新代码func2函数被调用! – 2013-05-04 14:02:03