![](/img/trans.png)
[英]Loading spinner is not working on ng-click or ng-change in Angularjs
[英]AngularJS ng-click not working, but ng-change is, when calling the same function
編輯 代碼都是正確的,問題是因為包含了“ ngTouch”,請參閱下面的答案。
我可能在這里犯了一些愚蠢的錯誤,但是對於我的一生,我找不到它。 我有一段標記,它已與控制器正確連接:
<input type="text" ng-change="doStuff()" ng-model="stuff"/>
<button ng-click="doStuff()">doStuff</button>
控制器代碼:
console.log('Hi from controller');
$scope.stuff = "something";
$scope.doStuff = function() {
alert('doing stuff');
}
問題是當我單擊按鈕時什么也沒有發生。 如果更改輸入字段,則會收到警報,因此ng-change有效,但ng-click無效。 讓我知道這是不是足夠的信息,但是我不知道還有什么可以提供的,並且一般設置似乎工作正常。
HTML的其余部分不包含任何Angular指令,並且在myModule.config中將其像這樣加載:
$stateProvider
.state('stuff', {
templateUrl: 'pages/stuff.html',
url: '/stuff',
controller: 'StuffCtrl'
})
控制器的定義如下:
angular.module('myModule')
.controller('StuffCtrl', function ($scope) {
// above code
});
原來,問題出在另一個依賴項“ ngTouch”上。 我沒有使用它,但仍然加載了它。 我的模塊甚至都不依賴它。 (我正在從這里使用該管理網站模板: http : //startangular.com/product/sb-admin-angular-theme/ )。 刪除ngTouch的加載后,它按預期工作。 我也會將其作為錯誤提交給兩個項目...感謝您的幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.