2013-04-29 10 views
5

Dzwonię do powiadomienia.confirm z phonegap podczas korzystania z kątowego-js.notification.confirm funkcja wywołania zwrotnego o nazwie zawsze

mam kod jak:

ng-click= func(item) 

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

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

chcę func2 być wywoływana tylko wtedy, gdy użytkownik naciśnie przycisk Potwierdź na polu potwierdzić. Ale dzieje się tak, że zostaje wywołany, gdy tylko powiadomienie pojawi się bez kliknięcia jakiegokolwiek przycisku. Jak rozwiązać ten problem?

+0

Proszę podać dokładny kawałek HTML za pomocą kliknięcia ng. – Yaroslav

Odpowiedz

8

Oto poprawne ans do niego:

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

Wartość przycisku jest 1/2 w oparciu o który z przycisków „Potwierdź”/„Anuluj” kliknięciu. W moim przypadku przycisk "Zatwierdź" miał wartość 1, a więc kontrolę równości.

2

To dlatego, że już wywołujesz funkcję func2 wewnątrz func. Wystarczy przekazać funkcję jako argument, nie nazywają go:

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

ten sposób funkcja zostanie wywołana tylko po potwierdzeniu zgłoszenia.

+0

Zrób cuda! dziękuję bardzo .. :) –

+0

Hej, to nie działa ... funkcja func2 zostaje wywołana, nawet gdy klikam przycisk anulowania –

+0

pokaż nam swój nowy kod! –

Powiązane problemy