2013-04-29 11 views
5

Sto chiamando notification.confirm di phonegap mentre utilizzo angular-js.notification.confirm callback function called always

Ho codice come:

ng-click= func(item) 

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

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

voglio il func2 ad essere chiamato solo quando l'utente preme il pulsante di conferma sulla casella di conferma. Ma quello che succede è che viene chiamato non appena la notifica viene visualizzata senza il clic di alcun pulsante. Come risolvere questo?

+0

Si prega di fornire il pezzo html esatto con ng-clic. – Yaroslav

risposta

8

Ecco l'ans corretti ad esso:

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

Il valore del pulsante è il mezzo basato su quale dei pulsanti, 'Conferma'/'Cancella' si fa clic. Nel mio caso il pulsante 'conferma' aveva il valore di 1 e quindi il controllo di uguaglianza.

2

Questo perché si sta già richiamando la funzione func2 all'interno della funzione. Hai solo bisogno di passare una funzione come argomento, non chiamarlo:

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

In questo modo la funzione viene richiamata solo quando si conferma la notifica.

+0

Le meraviglie del lavoro! grazie mille .. :) –

+0

Ehi, questo non funziona ... la funzione func2 viene chiamata anche quando clicco sul pulsante Annulla –

+0

mostraci il tuo nuovo codice! –

Problemi correlati