Я использую angularjs как можно больше - я редактирую некоторую унаследованную систему, и я не могу позволить себе слишком сильно меняться. Поэтому, в основном, мне нужно реализовать функцию, которая отменяет каждый флажок на странице. Самое простое решение - не меняя слишком много существующей системы - заключалось в использовании angular.element
. Теперь я знаю, это ДЕЙСТВИТЕЛЬНО плохое решение, но мне нужно заставить его работать.
В настоящее время он работает (по крайней мере визуально), так как каждый флажок не установлен, однако при другом нажатии флажок не работает - его нужно нажать дважды, прежде чем снова активировать его.
Вот демонстрация того, как обстоят дела, и как я реализовал частичное решение: http://jsbin.com/xicubegira/1/edit?html,js,output. Пример использования выглядит следующим образом.
Итак, как я могу снять все флажки на странице и сохранить первоначальную функциональность? Я предполагаю, что проблема в том, что в поле флажка ничего не меняется, поэтому ng-change
не запускается.
Спасибо за вашу помощь!
Ваша проблема заключается в том, что вы не меняете свою модель, поэтому ng-change нельзя вызвать, поскольку данные не изменяются.
Разве вы не можете сделать простой набор в false для вашей модели:
$scope.uncheck = function(){
$scope.confirmed = false;
};
angular.element
, отлично!