簡體   English   中英

AngularJS ng-click不起作用,但是ng-change在調用相同函數時有效

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM