2015-04-15 10 views
5

EDITIl codice è tutto corretto, il problema era dovuto al fatto di includere 'ngTouch', vedere la mia risposta qui sotto.AngularJS ng-click non funziona, ma ng-change è, quando si chiama la stessa funzione

Probabilmente sto facendo un errore stupido qui, ma per la vita di me non riesco a trovarlo. ho questo pezzo di markup, che è collegato correttamente con un controllore:

<input type="text" ng-change="doStuff()" ng-model="stuff"/> 
<button ng-click="doStuff()">doStuff</button> 

Il codice di controllo:

console.log('Hi from controller'); 
$scope.stuff = "something"; 
$scope.doStuff = function() { 
    alert('doing stuff'); 
} 

Il problema è non succede nulla quando si fa clic sul pulsante. Se cambio il campo di input, ottengo l'avviso, quindi funziona ng-change, ma ng-click no. Fammi sapere se questa informazione non è sufficiente, ma non saprei cos'altro fornire e la configurazione generale sembra funzionare bene ...

Il resto dell'HTML non contiene alcuna direttiva Angolare, e viene caricato come questo in myModule.config:

$stateProvider 
    .state('stuff', { 
      templateUrl: 'pages/stuff.html', 
      url: '/stuff', 
      controller: 'StuffCtrl' 
    }) 

e il controller è definito così:

angular.module('myModule') 
    .controller('StuffCtrl', function ($scope) { 
     // above code 
    }); 
+0

Provare a ruotare il pulsante (con il tipo predefinito 'submit') in un semplice pulsante usando'

+0

Che dovrebbe funzionare, puoi pubblicare un più grande snipper del file HTML e il tuo codice controller? –

+0

Funziona qui - http://jsfiddle.net/HB7LU/12867/ –

risposta

5

si è scoperto che il problema era con un'altra dipendenza 'ngTouch'. Non l'ho usato, ma è stato caricato. Il mio modulo non dipendeva nemmeno da questo. (Sto usando questo modello di sito di amministrazione da qui: http://startangular.com/product/sb-admin-angular-theme/). Dopo aver rimosso il caricamento del ngTouch ha funzionato come previsto. Lo archiverò come un bug anche per entrambi i progetti ... Grazie per il tuo aiuto!

+0

Wow, ho appena sprecato 2 ore a risolvere questo stesso problema prima di trovare la risposta! Non l'avrei mai capito, grazie !! – Defcronyke

+1

Grazie per aver postato questo. Ho battuto la testa sul muro qui. – tpie

+0

Grazie per aver pubblicato il tuo risultato. Ho perso un paio d'ore - e qualche minuto per trovare quella dannata dipendenza dai moduli pigri caricati ... – karlis

Problemi correlati