2015-04-14 2 views
-1

У меня есть следующие HTMLУгловой JS простой кнопка нг-клик не работает

<html ng-app="processBeautifierApp"> 
... 
<body ng-controller="PBCtrl" style="padding: 20px;"> 
<div id="header"> 
    <div style="padding: 7px; float: right;"> 
     <select ng-model="selectedProcess" ng-options="prozess as prozess for prozess in prozessListe"></select><br/> 
     <button type="button" ng-click="forceRefresh()">Force DCTM Refresh</button> 
    </div> 
</div> 
... 
</body> 

Соответствующая Javascript

var processBeautifierApp = angular.module('processBeautifierApp', []); 
processBeautifierApp.controller('PBCtrl', function ($scope, $http, $interval, $window){ 
    ... 
    $scope.forceRefresh = function() { 
     ... 
    } 
}); 

select элемента и кнопка показывается правильно. Параметры были заполнены из режима, $scope.selectedProcess изменяется, когда пользователь выбирает другой вариант.

Но: кнопка ng-click не реагирует. $scope.forceRefresh() никогда не будет называться. На консоли нет ошибки ... она просто не реагирует вообще. Вы можете понять, почему?

+0

проверить все файлы включены правильно –

+1

Создать плкер или скрипку для вашей prblem – Sajeetharan

+0

Какие файлы в точности? Я вижу, что Angular JS включен правильно, потому что 'select' был заполнен, и его соответствующая' $ scope. $ Watch' работает нормально. Но '$ scope.forceRefresh = function()' не – devnull69

ответ

0

Проверьте рабочий пример кода plnkr.co

var processBeautifierApp = angular.module('processBeautifierApp', []); 
processBeautifierApp.controller('PBCtrl', function ($scope, $http, $interval, $window){ 
    $scope.forceRefresh = function() { 
    alert("asd"); 
} 
}); 
+0

Я вижу рабочий пример. Но он по-прежнему не работает в моем проекте, хотя я уменьшил код внутри 'forceRefresh' до' alert ('clicked') '. Возможно, это связано с тем, что я использую 'JointJS' и' UIkit' ... до сих пор не было такой проблемы – devnull69

+1

В вашем коде должна быть глупая ошибка. Попробуйте переписать его еще раз. Или покажите свой код. – saygon91

+0

Это была глупая ошибка, вы абсолютно правы – devnull69

0

Ok решение было так просто, как это возможно ... Я действительно стыдно

Я использовал $scope.forceRefresh как имя функции, но я также использовал $scope.forceRefresh где-то еще в коде в качестве логического флага для включения/отключения обновления силы. Переименование функции сделало трюк

Смежные вопросы