EDITDer Code ist alles korrekt, das Problem war wegen der Einbeziehung 'ngTouch', siehe meine eigene Antwort unten.AngularJS ng-klicken funktioniert nicht, aber ng-change ist, wenn Sie die gleiche Funktion aufrufen
Ich mache hier wahrscheinlich einen dummen Fehler, aber für das Leben von mir kann ich es nicht finden. Ich habe dieses Stück Markup, die mit einem Controller korrekt verdrahtet ist:
<input type="text" ng-change="doStuff()" ng-model="stuff"/>
<button ng-click="doStuff()">doStuff</button>
Der Controller-Code:
console.log('Hi from controller');
$scope.stuff = "something";
$scope.doStuff = function() {
alert('doing stuff');
}
Das Problem ist, es passiert nichts, wenn ich auf die Schaltfläche klicken. Wenn ich das Eingabefeld ändere, bekomme ich die Warnung, also funktioniert ng-change, aber ng-click nicht. Lassen Sie mich wissen, wenn dies nicht genug Informationen ist, aber ich würde nicht wissen, was sonst noch zu bieten, und die allgemeine Einrichtung scheint gut zu funktionieren ...
Der Rest des HTML enthält keine Angular-Richtlinien, und es ist, wie dies in myModule.config geladen:
$stateProvider
.state('stuff', {
templateUrl: 'pages/stuff.html',
url: '/stuff',
controller: 'StuffCtrl'
})
und die Steuerung wie folgt definiert ist:
angular.module('myModule')
.controller('StuffCtrl', function ($scope) {
// above code
});
Versuchen Sie, die Schaltfläche (mit dem Standardtyp 'submit') in eine einfache Schaltfläche mit'
Das sollte funktionieren, können Sie einen größeren Snipper der HTML-Datei und Dein Controllercode? –
Funktioniert hier - http://jsfiddle.net/HB7LU/12867/ –