当调用相同的函数时,AngularJS ng-click不起作用,但ng-change是

Tho*_*sch 5 javascript angularjs angularjs-ng-click

编辑 代码是正确的,问题是因为包括'ngTouch',请参阅下面我自己的答案.

我可能在这里犯了一些愚蠢的错误,但对于我的生活,我找不到它.我有这个标记,它与控制器正确连接:

<input type="text" ng-change="doStuff()" ng-model="stuff"/>
<button ng-click="doStuff()">doStuff</button>
Run Code Online (Sandbox Code Playgroud)

控制器代码:

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

单击按钮时没有任何问题.如果我更改了输入字段,我会收到警报,因此ng-change有效,但ng-click却没有.让我知道这是不是足够的信息,但我不知道还有什么提供,一般设置似乎工作正常...

HTML的其余部分不包含任何Angular指令,并且在myModule.config中加载如下:

$stateProvider
    .state('stuff', {
            templateUrl: 'pages/stuff.html',
            url: '/stuff',
            controller: 'StuffCtrl'
     })
Run Code Online (Sandbox Code Playgroud)

并且控制器的定义如下:

angular.module('myModule')
    .controller('StuffCtrl', function ($scope) {
        // above code
    });
Run Code Online (Sandbox Code Playgroud)

Tho*_*sch 5

原来问题是另一个依赖'ngTouch'.我没有使用它,但它仍然被加载.我的模块甚至不依赖它.(我在这里使用该管理站点模板:http://startangular.com/product/sb-admin-angular-theme/).删除ngTouch的加载后,它按预期工作.我会将此作为错误提交给两个项目...感谢您的帮助!